我有一个包含特殊字符的单词的xml文件。 例如:
<string name="test_text">"test¹, test², test⁶, test⁷ "</string>
当我通过指令使用字符串时:
((TextView) view.finViewdById(R.id.test)).setText(R.string.test_text);
输出将是:
test¹,test²,test,test
我无法显示特殊字符:⁶,⁷。
有人可以帮我解决问题吗?
谢谢!
答案 0 :(得分:3)
我刚刚使用两个选项对其进行了测试:
Log.d("TEST", getString(R.string.test_text));
Toast.makeText(this, getString(R.string.test_text), Toast.LENGTH_LONG).show();
在Toast中它确实显示为test¹, test², test, test
,而在Logcat字符串中显示正确 - test¹, test², test⁶, test⁷
- 所以看起来一切都很好,你定义字符串资源的方式。
我的猜测是,用于UI的默认字体不提供这些字符(⁶
和⁷
)。您可以尝试使用资源中自己的字体,确保它支持所需的字符
答案 1 :(得分:1)
你可以试试这个
((TextView) findViewById(R.id.test)).setText(getString(R.string.test_text, "UTF-8"));
答案 2 :(得分:0)
您是否在xml文件中添加了标题?
<?xml version="1.0" encoding="utf-8"?>
如果问题仍然存在,或者您需要确保所有内容都正确显示。您可以将String保存为utf8编码的代码,并在读出后解析它。就像在Swing GUI窗口构建器中输入特殊字符时,swing窗口构建器所做的那样。