Ne peut pas analyser et afficher les caractères non-utf8 lire à partir d'une requête http

Je suis à l'aide de Java pour analyser cette demande

http://ajax.googleapis.com/ajax/services/search/web?start=0&rsz=large&v=1.0&q=rz+img+news+recordid+border

qui a comme résultat de cette (tronqué pour des raisons de concision) fichier JSON:

{"responseData":{"results":
<...>
"visibleUrl":"www.coolcook.net",
"cacheUrl":"http://www.google.com/search?q\u003dcache:p4Ke5q6zpnUJ:www.coolcook.net",
"title":"مطبخ مطايب - كباب الدجاج والخضار بصلصة الروب",
"titleNoFormatting":"مطبخ مطايب - كباب الدجاج والخضار بصلصة الروب","\u003drz+img+news+recordid+border"}}, 
<...>
"responseDetails": null, "responseStatus": 200}

Mon problème se trouve dans les caractères arabes retourné (qui peut être n'importe quel non-unicode). J'ai essayé de les convertir en arrière unicode à l'aide de quelque chose comme:

JSONArray ja = json.getJSONObject("responseData").getJSONArray("results");
JSONObject j = ja.getJSONObject(i);
str = j.getString("titleNoFormatting");
logger.log("before: " + str); //this is just my version of println
enc_str = new String (str.getBytes(), "UTF8");
logger.log("after: " + enc_str);

Cependant, le "avant" et "après", le résultat est le même: un jeu de ????'s, indépendamment de savoir si j'sortie dans le fichier journal du serveur ou dans une page HTML. Est-il une autre façon de récupérer les caractères arabes et de sortie dans une page web?

Ne JSON ont l'appui de la fonctionnalité pour ce genre de problème peut-être afin de lire le non-utf caractères directement à partir de la JSONObject?

Google la réponse doit être en UTF-8. Êtes-vous sûr que le terminal vous utilisez le support de l'UTF-8?
Ce JSON API que vous utilisez?
Les caractères arabes que vous décrivez de en Unicode, et peut être représenté en UTF-8. Vous avez probablement un problème de codage sur la production, pas sur entrée.

OriginalL'auteur | 2009-11-16