[Java] HttpClient, caractère non reconnus

Discussion dans 'Web, design' créé par AcidBird, 20 Septembre 2006.

Statut de la discussion:
Fermée.
  1. Offline
    AcidBird Touriste
    Bonjour,

    J'essaye de récupérer le contenu d'une page web via une application Java. Mon problème est que certains caractère semble non reconnus lors du traitement de la réponse alors que la page s'affiche correctement dansun bronwser ... pour faire simple, voila en simplifié le code qui pose problème :


    Code:
      String response = null;
                try {
                	HttpMethodBase m = new GetMethod(replaceBlanks(chapterURL));
                		m.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
                    client.executeMethod(m);
    
                    response = new String(m.getResponseBodyAsString().getBytes(), "ISO-8859-1");
                    System.out.println(response);
                } catch (IOException e) {
                    e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
                    log.inform("error while retreiving paragraph");
                }
    
    Le Charset de la page est bien ISO-8859-1 (vérifié, c'est ce qui est stipulé dans l'header de la réponse). Les caractères accentués sont bien traité mais le ' (représenté dans le getResponseBodyAsString() comme un "’" )se retrouve parsé dans response comme un "?".

    A noter que si un autre encoding est utilisé, non seulement le ' est mal parsé, mais les caractères accentué aussi.

    J'avoue que je ne vois vraiment pas d'ou vient le problème ...
    AcidBird, 20 Septembre 2006
    #1
  2. Offline
    nufaN Fou malade
    T'as testé en UTF-8 ?
    nufaN, 20 Septembre 2006
    #2
  3. Offline
    AcidBird Touriste
    Oui oui, même si l'header précise bien que le charset est Iso, j'ai testé UTF8, avec l'Inami, faut s'attendre à tout :p.

    En UTF8, même les accentués sont mal parsé :p
    AcidBird, 20 Septembre 2006
    #3
  4. Offline
    AcidBird Touriste
    Au cas ou ca en intéresserait certains ... le ' est en fait un caratère venant de word qui "fait plus joli" mais qui n'est pas reconnut par l'ISO ... conclusion, je dois parser mon résultats et replacer tout les caractère qui ont le code hexa de "beautifull quote" (0x92) ... si quelqu'un a une solution plus globale, je suis preneur !
    AcidBird, 21 Septembre 2006
    #4
Statut de la discussion:
Fermée.