我收到一个从服务器发送给我的字符串(我的应用程序在android上运行)。其中一个字符是一个音符的unicode符号。我从String中获取服务器的响应,然后将其直接传递给TextView。这应该出现:
♫
但我只看到一个块(有点看起来像):
[]
当我将字符串打印到logcat时,我看到:
â«
我不确定如何让TextView正确显示字符。我试过这个:
tv.setText(Html.fromHtml(text).toString());
但它仍在渲染中。什么是正确的方法?
由于
--------------------更新-------------------------- ---
我尝试创建一个包含字符的网页,然后将系统浏览器指向页面(在我的nexus上)。相同的渲染问题,看起来该角色的字形不存在?:
<html>
<body>
♫
<br />
♫
</body>
</html>
答案 0 :(得分:1)
您可以尝试查看此软件包:
org.apache.commons.lang.StringEscapeUtils
它具有包含unicode字符的unescapeHtml和unescapeXml的能力。但是,Android正在使用Droid字体,我不认为该字体中存在音符字符。你必须以某种方式包含一个在你的应用程序中包含该字符的字体,然后使用StringEscapeUtils将服务器发送的内容转换为你想要显示的内容。