Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java ME (J2ME) > кодировка (кракозяблики вместо русского) |
Автор: nerezus 31.1.2007, 18:38 | ||
кракозяблики вместо русского при выводе =\ При этом на эмул нормально. WTF? Добавлено @ 18:39 файл в 1251 |
Автор: javastic 1.2.2007, 10:54 |
Попробуй вместо windows-1251, использовать utf-8 так будет надёжней. Попробуй вначале так прочитать, если не получится то сохраняй в utf-8, а потом читай. Многие телефоны не понимают типа windows-1251, некоторые их воспринимают как cp1251. По умолчанию в телефоне используется ISO1859-1 Зайди по этой ссылке http://www.vidarholen.net/contents/virca/ там есть исходники IRC клиента в котором используется windows-1251, koi-8 |
Автор: Vladimir35 1.2.2007, 11:04 | ||
Обычное дело на j2me. Попробуйте "windows-1251", "WINDOWS-1251".... Покрайней мере я встречал и "UTF8", и "utf8", и "UTF-8", и "utf-8", и "Utf-8". ![]() Хотя если исключения нет, то скорее всего ничего не поделаешь. Хотя бы тело укажите. |
Автор: nerezus 1.2.2007, 11:50 |
Эх... жалко, что все так криво =\ Сменил на UTF-8 и перекодировал файл Штырлицем... Работает на эмуле и на мотороле(раньше не работало). На сименсе и нокии позже проверю ) |
Автор: javastic 1.2.2007, 15:11 |
nerezus, я тебе говорю, посмотри в исходниках по ссылке, там есть метод который умеет читать в windows-1251 |
Автор: Arahnus 23.8.2009, 19:29 | ||
Посмотрел метод для чтения из Cp1251 из мидлета. Да работает но только в эмуляторе. На реальном телефоне же абракадабра выходит. Тут советуют utf-8 однако это не всегда подходит для реальных приложений. Что если текст нужно загружать не весь а частями, с какого байта начинать чтение если латинские символы занимают 1 байт, а русские два? Вы скажете используй InputStreamReader и читай посимвольно. Но InputStreamReader работает не во всех телефонах поэтому приходится использовать InputStream и читать побайтово а не посимвольно. Вот поэтому я считаю что нужно искать рабочий способ для работы с Cp1251 Кто нибудь пробовал принимать текст из Cp1251 вот так:
У меня на эмуле работает, но на телефоне не могу пока проверить - глючит. |