Как отобразить арабские символы, получаемые из базы данных, когда пользователь меняет язык в приложении Blackberry? - PullRequest
1 голос
/ 14 февраля 2012

В моем приложении Blackberry я должен изменить экран на арабский, когда пользователь меняет свой язык на арабский со страницы настроек.Я получаю данные арабской строки из базы данных и отображаю их на экране.В симуляторе он отображается правильно.Но в устройстве (Blackberry Curve 8900) он отображается как «????????».Как мне сделать так, чтобы он отображался правильно?

Ответы [ 2 ]

1 голос
/ 14 февраля 2012

Вероятно, проблема со шрифтом на устройстве, с которым вы тестируете. Попробуйте просмотреть арабскую веб-страницу с того же устройства. Вы можете видеть правильные символы в этом случае? Браузер должен подвергаться тем же ограничениям шрифтов, что и ваше приложение, так что это разумный тест.
Также необходимо проверить, можете ли вы выбрать арабский язык в качестве языка устройства на экране настроек.

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

EDIT

Очевидно, это не проблема шрифта, поскольку строки ресурсов отображаются правильно. У вас должна быть проблема с кодированием где-то в базе данных. Вставлены ли арабские строки вашим приложением или база данных загружена в другом месте и скопирована в приложение? Проверьте, какая кодировка используется при вставке строк.

0 голосов
/ 15 февраля 2012

Попробуйте преобразовать ваши строки в UTF-8 после загрузки их из базы данных.

String arabicText = new String(getStringFromYourDB().getBytes(), "UTF-8");
...