当用户在黑莓应用程序中更改语言选项时,如何显示从数据库中获得的阿拉伯字符



在我的黑莓应用程序中,当用户从设置页面将其语言更改为阿拉伯语时,我必须将屏幕更改为阿拉伯语。我正在从数据库中获取阿拉伯字符串数据,并将其显示在屏幕上。在模拟器中,它显示正确。但在设备(黑莓曲线8900)中,它显示为"????"。如何使其正确显示?

这可能是测试设备上的字体问题。尝试从同一台设备浏览阿拉伯语网页。在这种情况下,你能看到正确的字符吗?浏览器应该受到与应用程序相同的字体限制,因此这是一个合理的测试
另一件需要检查的事情是,您是否可以从设置屏幕中选择阿拉伯语作为设备语言。

如果这两件事都不可能,那么该设备就不适合阿拉伯语。你需要插入BlackBerry Desktop应用程序,并进行系统软件更新,将阿拉伯字体添加到设备中。

编辑

显然,这不是字体问题,因为资源字符串显示正确。数据库中的某个位置一定有编码问题。阿拉伯字符串是由你的应用程序插入的,还是数据库加载到其他地方并复制到应用程序中?检查插入字符串时使用的编码。

从数据库加载字符串后,尝试将其转换为UTF-8。

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

最新更新