[Java] HttpClient, caractère non reconnus

Statut
N'est pas ouverte pour d'autres réponses.

AcidBird

Elite
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 ...
 

nufaN

Fou malade
T'as testé en UTF-8 ?
 
1er
OP
AcidBird

AcidBird

Elite
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é ^^
 
1er
OP
AcidBird

AcidBird

Elite
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 !
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut