Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.61
SERGEY199100
20 / 20 / 0
Регистрация: 29.10.2009
Сообщений: 430
#1

Читаемый текст в WebView UTF-8 вместо символов - Программирование Android

13.08.2013, 22:47. Просмотров 2480. Ответов 9
Метки нет (Все метки)

Добрый вечер всем,
подскажите, я конечно глупый вопрос задаю, сам имею сайт, и как бы разбираюсь в кодировке, но всеже чтобы не изобретать велосипед, лучше спрошу у знающих людей,...

У меня в WebView выводится текст из file.txt. В file.txt содержатся разные символы, в основном - кирилица. Как мне вывести нормальный читаемый человеческий текст ? Может быть в файле который выводим в окно прописать кодировку ?

Пробовал вначале указать так:

Java
1
<meta charset="utf-8"><h2>Один два три</h2> <p> </p> </div><br clear="all"> <div> <p> </p> <p><u ...
Не помогло... Подскажите как это прописать в FILE.txt чтобы не менять весь код приложения =\
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.08.2013, 22:47     Читаемый текст в WebView UTF-8 вместо символов
Посмотрите здесь:
Вместо открытия страницы в WebView предлагает открытие в браузере Android
Перевести Unix дату в читаемый вид Android
Android WebView
Android Webview
WebView Android
Android Webview на фрагменте
Android WebView + JSOUP
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Maxtron
48 / 48 / 2
Регистрация: 17.11.2012
Сообщений: 227
Записей в блоге: 1
13.08.2013, 22:52     Читаемый текст в WebView UTF-8 вместо символов #2
http://stackoverflow.com/questions/4...f-8-characters
SERGEY199100
20 / 20 / 0
Регистрация: 29.10.2009
Сообщений: 430
14.08.2013, 09:03  [ТС]     Читаемый текст в WebView UTF-8 вместо символов #3
У меня в коде прописана функиця кодировки выводимой инфы... Вот:

Java
1
2
3
WebView myWebView = (WebView) findViewById(R.id.webView1);
String summary = "<html><body>" + text + "</body></html>";
myWebView.loadData(summary, "text/html", "utf-8");
SERGEY199100
20 / 20 / 0
Регистрация: 29.10.2009
Сообщений: 430
15.08.2013, 23:30  [ТС]     Читаемый текст в WebView UTF-8 вместо символов #4
Странно дело... И так и сяк делал, прописывал в самом xxx.txt кодировку UTF-8, но не в какую Русские буквы не выводит, все остальное нормально... Как еще можно попробовать ? В примере http://habrahabr.ru/post/113731/ автор утверждает что у него все работает...
SERGEY199100
20 / 20 / 0
Регистрация: 29.10.2009
Сообщений: 430
19.08.2013, 09:35  [ТС]     Читаемый текст в WebView UTF-8 вместо символов #5
Кто-нибудь, подскажите как в выводимом text.txt файле вывести читаемые символы (Кирилицу), на примере поста выше... Мне не хватает знаний ((

Добавлено через 30 секунд
это не помогло (
verylazy
Заблокирован
19.08.2013, 09:39     Читаемый текст в WebView UTF-8 вместо символов #6
А как выглядят символы, которые вместо кириллицы показывает?
SERGEY199100
20 / 20 / 0
Регистрация: 29.10.2009
Сообщений: 430
19.08.2013, 09:48  [ТС]     Читаемый текст в WebView UTF-8 вместо символов #7
Цитата Сообщение от verylazy Посмотреть сообщение
А как выглядят символы, которые вместо кириллицы показывает?
вот
Миниатюры
Читаемый текст в WebView UTF-8 вместо символов  
SERGEY199100
20 / 20 / 0
Регистрация: 29.10.2009
Сообщений: 430
19.08.2013, 09:50  [ТС]     Читаемый текст в WebView UTF-8 вместо символов #8
Получается так:
1. Создаем директорию RAW(Папку)
2. Загружаем туда текстовые файлы с контентом
3. В программе выводим содержимое текстовых файлов в WebView

Перед выводом указывается кодировка UTF-8.
Wenceslaus
Android Developer
130 / 130 / 4
Регистрация: 05.07.2013
Сообщений: 205
19.08.2013, 13:00     Читаемый текст в WebView UTF-8 вместо символов #9
Тоже как-то сталкивался с такой проблемой, решил одной функцией:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static String convertStreamToReadableString(InputStream is) throws Exception {
    StringBuilder sb = new StringBuilder(), content = new StringBuilder();
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    
    String line = null;
    while ((line = reader.readLine()) != null) {
        sb.append(line).append("\n");
    }
    
    content.append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" + 
                    "<html><head>" + 
                    "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />" + 
                    "<head><body>");
    content.append(sb.toString());
    content.append("</body></html>");
    
    return content.toString();
}
на вход InputStream файла, на выходе готовый читабельный html. Применял так:
Java
1
webView.loadData(convertStreamToReadableString(getAssets().open("index.html")), "text/html; charset=utf-8", "UTF-8");
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2013, 20:11     Читаемый текст в WebView UTF-8 вместо символов
Еще ссылки по теме:
Прозрачность WebView Android
WebView in Fragment Android
Android WebView. Крякозябры
Android WebView в фоне
Android Android webview

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
SERGEY199100
20 / 20 / 0
Регистрация: 29.10.2009
Сообщений: 430
28.08.2013, 20:11  [ТС]     Читаемый текст в WebView UTF-8 вместо символов #10
Все предлагали мне варианты с полной переделкой примера, а решение было так близко !
Нужно было использовать немного иной метод вывода символов из текстового файла !

Добавлено через 22 часа 55 минут
Сообственно нужно поправить метод кодировки и вывода данных:

Javascript
1
myWebView.loadDataWithBaseURL(null,summary,"text/html","UTF-8","about:blank");
Yandex
Объявления
28.08.2013, 20:11     Читаемый текст в WebView UTF-8 вместо символов
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru