Неправильный поиск испанского текста из SQlite в Blackberry - PullRequest
0 голосов
/ 29 сентября 2010

Я сохранил текст на испанском языке в базе данных SQlite и извлекаю его через код Java, используя row.getString() метод API BlackBerry, но я не могу получить точный текст из базы данных, отображаются только символы акцента по-разному в устройстве (BlackBerry Bold 9700). Если я делаю что-то не так, пожалуйста, укажите мне правильное направление.

С наилучшими пожеланиями,

Винаяк

Ответы [ 3 ]

1 голос
/ 29 сентября 2010

Это, безусловно, проблема с кодировкой Charset.Это общая проблема с использованием испанских акцентов и тильд.SQLite использует UTF-8, поэтому вы должны проверить, использует ли ваше приложение UTF-8 или другое.

EDIT: установить кодировку по умолчанию для BlackBerry API Необходимо установить системное свойство microedition.encoding .Справка: http://www.blackberry.com/developers/docs/4.5.0api/java/lang/System.html

Вы можете установить это свойство в командной строке: java -Dmicroedition.encoding="UTF-8" MyApp

0 голосов
/ 29 сентября 2010

row.getString () не разрешает какую-либо спецификацию кодировки - поэтому код ОС должен работать правильно при извлечении строки из базы данных. Мой опыт работы с SQLite на BlackBerry заключается в том, что в ОС, построенной вокруг 5.0.0.4xx, есть ошибка, при которой кодирование базы данных не учитывается при извлечении. Я должен был обойти это, выполнив

new String(row.getString().getBytes(), "UTF-8")

Но, конечно, только на проблемных версиях ОС, так как это нарушит любую правильную реализацию row.getString ().

Версии с этой проблемой, с которыми я сталкивался до сих пор: 5.0.0.442 и 5.0.0.423

0 голосов
/ 29 сентября 2010

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

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