我有一个人名列表,这些名字最初来自Windows系统上的数据库。它将通过网络传输到我的Android应用程序中。
我的问题是有些名字包含重音字符。例如,一个名称包含具有强烈重音的o。
我需要能够在textView和Spinner控件中显示这些名称及其重音符号。在我的第一个版本中,我什么也没做,重音字符显示为包含问号的黑色钻石。然后我尝试将所有重音字母转换为HTML转义版本,例如用& oacute;替换o acute。我曾希望这会被转换回Android端的正确重音字符,但事实并非如此。字符串& oacute;出现在我的Android应用控件中。
有没有简单的方法可以在我的Android应用中显示可能包含重音的字符串,并正确显示这些重音?请注意,我可以控制Windows端和Android端,因此我可以根据需要修改从Windows发送到Android的XML文件的格式。如果可以避免,我宁愿不要修补字体。
答案 0 :(得分:0)
我刚试过textView.setText("ó")
,我没有看到任何问题。
您可以尝试以下测试:
try {
byte[] strByte = "ó".getBytes("UTF-8");
String myStr = new String(strByte, "UTF-8");
textView.setText(myStr);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
这对我也有用。
答案 1 :(得分:0)
抱歉,我刚刚看到了回复。我认为当响应进来时,StackOverflow会通过电子邮件提醒我。
我设法使用& oacute来解决问题;并设置textView如下:
target.setText(Html.fromHtml(newText), TextView.BufferType.SPANNABLE);
我认为,设置文字是否取决于所使用的字体。原始字符串来自Windows PC,所以我想知道它是否使用不同的编码。无论如何,& oacute;如上所述工作,所以我现在很开心。 再次感谢您的关注。