2010-10-26 153 views
9

在這個主題上有很多關於互聯網的帖子,但是他們都沒有能夠隔離和解決問題。在TextView中顯示unicode字符Android

我想展示一些使用TextView存儲在SQLite數據庫中的一些特殊的UTF-8編碼符號,然而它顯示的是盒子。我明白這意味着沒有安裝正確的字體。但是當我在Mac上使用Arial字體打印這些符號時,它可以工作。

我想在設備和模擬器上使用Arial字體。

任何建議。

回答

3

如果我正確理解您的情況,您可能需要考慮StringEscapeUtils.unescapeXml()方法。這是在這裏可用的common-lang.jar文件:http://commons.apache.org/lang/

它將採取編碼符號(例如'爲撇號),並讓你到正確的字符。

7

它適用於您的Mac,因爲您的Mac使用的字體包含這些特殊字符。創建一個包含unicode中定義的所有字符的字體文件是不可能的。中文字體就是一個很好的例子:它們都不包含所有約60.000個已知的中文字符,因爲字體文件很大且不可用。

您可以嘗試在Android上使用Mac上的字體(可能是版權問題 - 嘗試查找包含字符的免費字體:在應用程序中打包(ttf)文件,例如在/ assets文件夾中,然後在與

字體字型字體應用程序負載= Typeface.createFromAsset(assetmanager, 「fontfile.ttf」);

然後,您可以在一個TextView使用像這樣:

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

view.setTypeFace(typeFace);