【发布时间】:2014-09-08 13:48:19
【问题描述】:
我正在尝试在我的android 应用 中添加localization。不支持Unicode 的设备只显示方框。有什么方法可以检查设备是否支持 Unicode?
任何帮助表示赞赏。
谢谢。
编辑
我正在本地化我的应用程序以支持尼泊尔语。 如果我在带有 4.4.2 的设备上运行它,它会显示所有字符,但是当我在 2.3 上运行它时,它会显示框。
一些 unicode 字符是 ० १ २ ३ ४ ५ ६ ७ ८ ९ क ख 等。
注意:这些是梵文脚本,用于印地语和其他相关语言。
【问题讨论】:
-
所有 Android 设备 支持 Unicode(除了一些奇怪的原生问题),但是字体(以及呈现这种 Unicode 的位置)可能没有所说的字形.. 被适当替换与“盒子”。所以,1) 哪里 是被渲染的 Unicode 文本和 2) 使用了哪些 Unicode 字符?
-
感谢您的回复...有没有办法检查它是否支持应用程序中使用的Unicode字符?
-
@MichaelShrestha:您的问题含糊不清。如前所述,ALL Android 设备“支持”Unicode,因为
String类由 UTF-16 格式的字符数组支持。设备是否具有能够显示您需要的字符的相关字符集是另一个问题。根据您创建或获取文本字符串的方式以及它们的编码方式,还有其他各种复杂情况。看看 AndroidLocale类 developer.android.com/reference/java/util/Locale.html 你会看到一个方法getAvailableLocales()也许这就是你需要的。 -
所有设备都使用相同的常用字体。所有字体都支持 Unicode。并非所有字形都包含在标准字体中。强制提供缺失字形的唯一方法是更改字体。这很容易完成,并且可以下载和使用免费的 TTF 字体。还有专门的“图标字体”。
-
如果您需要帮助,请编辑问题以指定哪些确切的字符显示为框。所有 Android 手机都支持 Unicode,没有例外。