Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java ME (J2ME) > Кодировка контактов в samsung |
Автор: indened 22.6.2010, 08:53 |
Всем привет, В очередной раз столкнулся с самсунгом и его багами, третий день бьюсь за право существования кириллицы в контактах телефона (тестил на 8 моделях) . При создании контакта через записную книжку проблем с кириллицей нет, но при создании средствами jsr75 PIM, т.е. из мидлета кириллические символы приобретают кроказябную форму. Как я выяснил,процесс происходит следующим образом, полученная строка преобразуются в utf8(если взять два символа кроказябры и сравнить их код с utf8, то получится нужный символ из кириллицы) и дальше эта строка интерпретируются как iso8859-1(кодировка платформы), например, символ 'A' - \u0410, далее в utf8 - 0xd090, далее iso8859-1 - 0xd0,0x90, если процесс развернуть в обратную сторону, то получим нормальный символ на экране т.е. достаем строку из контакта, преобразуем ее в массив байт,указав кодировку iso8859-1, создаем новую строку и интерпретируем ее как закодированную в utf8, вух,иногда сам не понмаю,что пишу). Из этого получается, что либо некоторые контакты могут храниться в iso8859-1, либо реализация интерпретирует символы как iso8859-1, либо у меня мозг включил блокировку. Облазил гугл,ничего по этой теме не нашел, за исключением одного поста на сайте самсунга для разработчиков и тот без ответа. Сложилось такое впечатление,что этим методом создания контактов либо никто не пользуется, либо нас двое(второй, кто запостил на самсунге) таких у кого эта проблема. Помогите,чем можете) Спасибо! |
Автор: sanboll 22.6.2010, 14:26 | ||
А ты не пробовал метод String getBytes(String encoding) ? Я не уверен, что это поможет, но всё же попробуй.
|
Автор: indened 22.6.2010, 19:31 |
Спасибо за помощь, Проблем с декодированием сторки из контакта у меня нет, я декодирую строку в нормальный вид, используя тот метод,который вы указали, а вот запихнуть ее обратно не получается. Тут, что-то более зловещие ![]() Единственный выход из этой проблемы, который я реализовал - это транслитерация кириллицы. |
Автор: sanboll 23.6.2010, 15:09 | ||
Ну, не знаю, попробуй вместо кодировки "UTF-8" указать "iso8859-1"... Если не выходит, попробуй так:
|