java - 在android中显示unicode字符?

标签 java android

我创建了一个消息传递应用程序,并且了解到很大一部分成员并不居住在北美或英国。

当他们发布消息时,只会返回乱码。存储数据的所有数据库列都采用 UTF-8。

有没有办法正确显示有人能够输入的 UTF-8 字符?请参见下面的屏幕截图。

Android screenshot of invalid characters

最佳答案

最简单的方法:使用合适的字体。

更准确地说,如果你想正确显示它们,端点应该有一个定义 unicode 字符的字体。我不知道这是否适用于 android,但您应该尝试在您的应用程序中嵌入完整的 utf-8 字体,因为您不知道常驻字体定义了什么(Droid 系列可以由供应商或高级用户替换) .

首先使用 vanilla Droid 系列进行测试(您可以在 android.git.kernel.org 上找到它),找到一个可在您的应用程序中重新分发的字体系列,并在您的应用程序中使用它。我从未使用过它,但在我看来,handcent 提供了不同的字体包(用于外观,但肯定用于 unicode 区域)。

雷诺

可以在 android git repo 上找到: − DroidSansArabic.ttf 定义阿拉伯语区间(U+6000-U+06FF 94/250 及更多) − DroidSansHebrew.ttf 定义希伯来间隔 (U+0590-U+05FF 87/87) … …(用 fontforge 检查)

关于java - 在android中显示unicode字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5129098/

相关文章:

javascript - 移动浏览器的样式下拉列表

android - 如何阻止 ICS 用户下载我的应用程序

android - 如何将数组添加到 ListView

java - 如何从地点选择器 Activity 中检索 map 快照?

java - 如何将测试类和主可执行类的依赖项包含在一个 jar 中

java - 如何正确签署我的 Applet 以访问计算机的 COM 端口?

java - 将此 Camel 路由片段从 Java DSL 转换为 Blueprint xml

android - 工具栏图像居中

java - 从命令行读取文件时出现数组越界异常。 java

java - 在 SPOJ 中用 Java 提交