Android разбирает специальные символы в ответе json
В моем приложении для Android я получаю строку ответа JSON из URL-адреса PHP. из ответа я получаю несколько названий отелей с apostrophe
, Я получил '
персонаж вместо apostrophe
, Как я могу разобрать отель со специальными символами в Android? I can see the apostrophe in the browser but could not see in android logcat.
я пытался jresponse = URLEncoder.encode(jresponse,"UTF-8");
но я не мог получить apostrophe
для названия отеля.
Это одно из названий отелей в ответе.
I see the following in browser.
{"id":12747,
"name":"Oscar's",
....
}
But in the logcat:
id 12747
name Oscar's
3 ответа
Используйте ISO-8859-2 при создании отправляемого URLEncodedEntity. Вы можете установить это как параметр в конструкторе.
Без указанной кодировки вы, вероятно, отправляете данные в формате UTF-8/UTF-16 (наиболее распространенные), которые сервер интерпретирует по-другому.
РЕДАКТИРОВАТЬ: похоже, ISO-8859-2 не поддерживает с. Возможно, вам придется что-то изменить на стороне сервера. http://en.wikipedia.org/wiki/ISO/IEC_8859-2
Используйте декодер вместо кодера. URLDecoder.decode(jresponse,"UTF-8")
Вы можете попробовать HTML-класс. например:- jresponse = Html.fromHtml(jresponse);