Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Android > Кодировка cp1251


Автор: Dapo 3.8.2011, 10:34
Приветствую! Есть текстовый файл созданный в блокноте Windows, его нужно открыть на андроид устройстве. Файл загружаю с сервера через интернет. Ну и понятно - буквы отображаются псевдосимволами. Как это дело побороть и вывести читаемый текст?

Спасибо.

Автор: spyswamp 3.8.2011, 11:10
Вывести где? В каком компоненте? Если что, то у того же String есть конструкторы, принимающие кодировку.

Автор: alexu_id 3.8.2011, 14:47
можно попробовать вывод через конвертирование в UTF-8 или любую другую кодировку

URLEncoder.encode(value, "utf-8")

если выводить в WebView, то лучше пользоваться loadDataWithBaseURL чем loadData

webView.loadDataWithBaseURL("fake://host", html, "text/html", "utf-8", "");


Автор: spyswamp 3.8.2011, 15:46
Кстати, по поводу WebView. Я обходил проблему вот так:

Код

String data = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><html><body>"
            + TipStorage.getInstance().get(index.intValue()).body
            + "</body></html>";
bodyview.loadData(data, "text/html", "utf-8");


Все работает шикарно. Правда формирование data надо порефакторить и т.п. Это же из древнего тестового приложения.

Добавлено через 33 секунды
Ключевой момент, само-собой, вот: <?xml version=\"1.0\" encoding=\"utf-8\" ?>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)