在TextView Android中显示unicode字符

use*_*504 9 android

在这个主题上有很多关于互联网的帖子,但是他们都没有能够隔离和解决问题.

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

我试图在设备和模拟器上使用Arial字体.

任何建议.

edo*_*ino 7

它适用于您的Mac,因为您的Mac使用的字体包含这些特殊字符.创建包含unicode中定义的所有字符的字体文件是不可能的.中文字体是一个很好的例子:它们都没有包含所有~60.000个已知的汉字,因为字体文件很庞大且无法使用.

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

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

然后,您可以在TextView中使用它,如下所示:

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

view.setTypeFace(字体);


Dav*_*ean 3

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

它将采用编码符号(例如 ' 表示撇号)并为您提供正确的字符。