IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

probleme http caractere speciaux


Sujet :

Android

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 58
    Par défaut probleme http caractere speciaux
    j'ai un client http

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    URL url = new URL("mon lien");
    			HttpURLConnection uc = (HttpURLConnection)url.openConnection(proxy);
    			uc.connect();
     
    			InputStream ins = uc.getInputStream();  
     
    			BufferedReader reader = new BufferedReader(new InputStreamReader(ins));
    mon probleme est la lecture de caractere speciaux
    il les transforme comme "?"

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Remplace ton espace par "%20".

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 58
    Par défaut
    j'ai pas bien compris

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2005
    Messages : 103
    Par défaut
    Je pense Feanorin te parlais dans URL de remplacer l'espace par sa représentation "%20".

    Ton problème c'est la lecture des informations par l'inputstream ?

    Si c'est le cas, le problème vient du fait que tu utilises InputStreamReader, de ce fait tu ne travailles plus sur des bytes mais sur des caractères avec l'encodage (charset) propre à la machine, mais il doit être différent de l'encodage retourné.

    L'InputStreamReader utilise le charset détermine par la propriété "file.encoding", si tu connais le charset tu peux la passer à InputStreamReader sinon il faut essayer de le découvrir (avec une api)?

  5. #5
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Désolé je suis aller trop vite .

    C'est quoi exactement comme caractères spéciaux qui te posent problème ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 58
    Par défaut
    le caractere °

    staken : j'utilise inputStream

    où je peux ajouté l'encodage ?

  7. #7
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Si je comprends bien tu as ce caractère ° dans ta chaîne de l'url

    Si c'est le cas alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://sqdhsqjd/qsdjqsd/dd°d/sdqsdj
    met à la place

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://sqdhsqjd/qsdjqsd/dd%B0d/sdqsdj
    Edit : Certains caractères ne passe pas dans les chaînes d'URL pour cela il faut les convertir. J'ai trouvé un site vite fait mais je pense que tu peux trouver mieux . Il te fera automatiquement la traduction en table AcSii .
    http://www.blooberry.com/indexdot/ht...rlencoding.htm

    Edit : Si ton problème vient de la lecture alors réfère toi à ce que t'as indiqué straken .

  8. #8
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2005
    Messages : 103
    Par défaut
    Tu utilises InputStream mais tu le places dans un new InputStreamReader(ins)
    qui lui utilise l'encodage (charset) de la machine (réception) qui peut-être différent de l'encodage utilisé par le serveur qui te retourne ce que tu essayes de transformer en chaine.

  9. #9
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 58
    Par défaut
    le probleme qu'il ne lit meme pas °
    inputstream me donne directement un caractere �
    alors comment specifié l'encodage a inputstreamreader

  10. #10
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 58
    Par défaut
    merci c'est resolu
    j'ai ajouté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    String charSet = "iso-8859-1";
     
    BufferedReader reader = new BufferedReader(new InputStreamReader(ins,charSet));

  11. #11
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2005
    Messages : 103
    Par défaut
    Tu peux le spécifier en 2eme paramètre de InputStreamReader (cf. http://developer.android.com/referen...eamReader.html)

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new InputStreamReader(is, "utf-8")

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Mauvais encodage (probleme de caractere speciaux)
    Par tortue_22 dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 06/05/2009, 15h17
  2. [Débutant] Problème de caractères spéciaux
    Par chaabane dans le forum Mise en forme
    Réponses: 4
    Dernier message: 21/08/2007, 23h22
  3. Problème de caractères spéciaux
    Par cflo91 dans le forum Mise en forme
    Réponses: 9
    Dernier message: 14/08/2007, 15h02
  4. Probleme avec caractere speciaux
    Par blairswish dans le forum Langage SQL
    Réponses: 9
    Dernier message: 16/12/2006, 22h47
  5. [HQL]Problème quand caractères spéciaux.
    Par Dimitri S. dans le forum Hibernate
    Réponses: 2
    Dernier message: 25/10/2006, 16h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo