Android разбирает специальные символы в ответе json

В моем приложении для Android я получаю строку ответа JSON из URL-адреса PHP. из ответа я получаю несколько названий отелей с apostrophe, Я получил &#039 персонаж вместо 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);

Другие вопросы по тегам