在TextView中正确呈现unicode字符?

时间:2010-11-05 19:04:34

标签: android

我收到一个从服务器发送给我的字符串(我的应用程序在android上运行)。其中一个字符是一个音符的unicode符号。我从String中获取服务器的响应,然后将其直接传递给TextView。这应该出现:

但我只看到一个块(有点看起来像):

[]

当我将字符串打印到logcat时,我看到:

â«

我不确定如何让TextView正确显示字符。我试过这个:

tv.setText(Html.fromHtml(text).toString());

但它仍在渲染中。什么是正确的方法?

由于

--------------------更新-------------------------- ---

我尝试创建一个包含字符的网页,然后将系统浏览器指向页面(在我的nexus上)。相同的渲染问题,看起来该角色的字形不存在?:

<html>
  <body>
    &#x266B;
    <br />
    &#9835;
  </body>
</html>

1 个答案:

答案 0 :(得分:1)

您可以尝试查看此软件包:

org.apache.commons.lang.StringEscapeUtils

它具有包含unicode字符的unescapeHtml和unescapeXml的能力。但是,Android正在使用Droid字体,我不认为该字体中存在音符字符。你必须以某种方式包含一个在你的应用程序中包含该字符的字体,然后使用StringEscapeUtils将服务器发送的内容转换为你想要显示的内容。