Страницы

Поиск по вопросам

вторник, 25 февраля 2020 г.

Проблема с парсингом русских букв в Android

#xml #android #кодировка #java


Есть xml. Его парсю через андройд апликэйшн. Всё получается, если английский язык.
Но если поменять в xml - на русский язык, то при отображении страницы в android api
- символы отображаются некорректно. Испробовал поменять кодировку в xml  с utf-8 на
windows-1251. Не помогло. Пробовал заставить апликацию понимать кодировку -          

InputSource is = new InputSource();
is.setCharacterStream(new StringReader(xml));
is.setEncoding ("windows-1251");    
doc = db.parse(is);

Ничего не выходит. Может, кто сможет подсказать. Если надо больше исходника - выложу...
is.setEncoding("UTF_8");

тоже ничего не выходит
Посмотрел в вики: кракозябры. 
Сравнил кракозябры. Если мы ставим в xml, который парсим, кодировку 1251, то крокозябры
как будто идёт перекодировка из 1251 в 1252. Если мы ставим в xml кодировку utf-8,
то крокозябры выглядят, как будто перекодируем из utf в 1252. В чём может быть проблема?    


Ответы

Ответ 1



HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); line = EntityUtils.toString(httpEntity, "UTF-8"); Это ответ!

Ответ 2



Проверьте кодировку самого XML файла, он должен быть в UTF-8. Android по умолчанию использует кодировку UTF-8, так что данные должны лежать в UTF-8, а иначе надо перекодировать.

Комментариев нет:

Отправить комментарий