在TextView Android中显示unicode字符

互联网上有很多关于这个话题的post,但是没有一个能够隔离和解决这个问题。

我正在尝试使用TextView显示存储在SQLite数据库中的一些特殊的UTF-8编码符号,但是它显示的是盒子。 我明白这意味着没有安装正确的字体。 但是,当我在Mac上使用Arial字体打印这些符号时,它可以工作。

我正在尝试在设备和模拟器上使用Arial字体。

任何build议。

Solutions Collecting From Web of "在TextView Android中显示unicode字符"

它适用于您的Mac,因为您的Mac使用的字体包含这些特殊字符。 创build一个包含unicode中定义的所有字符的字体文件是不可能的。 中文字体就是一个很好的例子:它们都没有包含所有〜60.000个已知的中文字符,因为字体文件会很大而且不可用。

您可以尝试在Android上使用Mac上的字体(可能是版权问题 – 尝试查找包含字符的免费字体:在应用程序中打包(ttf)文件,例如在/ assets文件夹中,然后在应用程序中加载该字体

TypeFace typeFace = Typeface.createFromAsset(assetmanager,“fontfile.ttf”);

然后你可以像这样在TextView中使用它:

TextView view =(TextView)findById(R.id.mytext);

view.setTypeFace(字体);

如果我正确理解你的情况,你可能要考虑StringEscapeUtils.unescapeXml()方法。 它位于common-lang.jar文件中: http ://commons.apache.org/lang/

它将采取编码的符号(例如“撇号”),并让你到一个适当的字符。