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

person M.A.Murali    schedule 10.03.2014    source источник


Ответы (3)


Используйте декодер вместо кодировщика. URLDecoder.decode(jresponse,"UTF-8")

person mach    schedule 10.03.2014

Используйте ISO-8859-2 при создании URLEncodedEntity, который вы отправляете. Вы можете установить это как параметр в конструкторе.

Без указанной кодировки вы, вероятно, отправляете данные в UTF-8/UTF-16 (чаще всего), которые сервер интерпретирует по-другому.

РЕДАКТИРОВАТЬ: похоже, что ISO-8859-2 не поддерживает ñ. Возможно, вам придется что-то изменить на стороне сервера. http://en.wikipedia.org/wiki/ISO/IEC_8859-2

person Bhanu Sharma    schedule 10.03.2014

Вы можете попробовать класс Html. например: - jresponse = Html.fromHtml(jresponse);

person Arunkrishna    schedule 07.01.2016