доступ к базе Yummly рецептов в моем Android приложение с использованием HTML запрос:Yummly API возвращает странные символы в ответ JSON (Android)
http://api.yummly.com/v1/api/recipes?_app_id=MY-APP-ID_app_key=MY-APP-KEY&q=KEYWORD
Хотя их документации говорится, что запросы GET возвращаются в Формат UTF-8, я нахожу некоторые странные символы в коде, например: Pots de Creme a l’Orange
.
Проблема не ограничивается моим Android-приложением, но то же самое отображается в браузере Chrome. Как ни странно, когда я попытался открыть его в Internet Explorer, оказалось, что все в порядке: Pots de Creme a l’Orange
, но были и другие вещи, такие как crème fraĂ®che
, который иногда появляется в Chrome как Crème Fraîche
, а иногда и правильно, как Crème Fraîche
.
В чем разница между браузерами, которые заставляют их интерпретировать ответ по-разному? И что еще более важно, что можно сделать в Android/Java, чтобы устранить эту проблему? У тебя есть идеи?
В Android я использую HttpGet для извлечения данных с сервера, а затем передаю его в JSONObject.
ли вы убедитесь, что переменная строка хранения ответа также UTF-8 закодированные? –
Я не очень точно это понял, однако я последовал одному из советов по StackOverflow и поместил 'BufferedReader reader = new BufferedReader (новый InputStreamReader (контент,« UTF-8 »)).'. С другой стороны, проблема существует и в веб-браузерах, поэтому я не думаю, что код Java может что-то сделать, потому что проблема существует, вероятно, раньше. –