watoo Posté(e) 1 septembre 2011 Posté(e) 1 septembre 2011 Bonjour, J'utilise la fonction ci-dessous pour accéder à une URL et récupérer les chaînes de caractères transmises par le Serveur. Le problème est que j'obtiens des erreurs d'encodages sur les caractères accentués, exemple: Chaîne envoyée par le serveur : "Systèmes" Chaîne reçue : "Syst�mes" Lorsque j'accède à l'URL via Chrome, j'obtiens le bon résultat. Mais en passant par cette fonction GetHTTP sur mon Samsung je n'arrive pas à avoir les caractères accentués. Voici la fameuse fonction : public static String executeHttpGet(String URL) throws Exception { BufferedReader bufferedReader = null; String strRes; try { HttpClient client = new DefaultHttpClient(); client.getParams().setParameter(CoreProtocolPNames.USER_AGENT, "android"); HttpGet request = new HttpGet(); request.setHeader("Content-Type", "text/plain; charset=utf-8"); request.setURI(new URI(URL)); HttpResponse response = client.execute(request); bufferedReader = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); StringBuffer stringBuffer = new StringBuffer(""); String line = ""; while ((line = bufferedReader.readLine()) != null) { stringBuffer.append(line); } bufferedReader.close(); strRes = stringBuffer.toString(); return strRes; } finally {.....} } Si vous avez une idée/piste je suis preneur :) Merci et bonne journée
Kricek Posté(e) 2 septembre 2011 Posté(e) 2 septembre 2011 Question d'encodage à priori... Tu dois pouvoir le fixer en ajoutant un argument à ton InputStream, je crois... Je regarde ça rapidement et je te dis ça...
Kricek Posté(e) 2 septembre 2011 Posté(e) 2 septembre 2011 Correction, c'est dans ton InputStreamReader. Voici ce que tu devrais tester (En modifiant le second argument comme tu le souhaites...): bufferedReader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(),"UTF-8")); Tiens nous au courant... ;) P.S: Désolé pour le double post...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.