android中不显示特殊字符

时间:2013-05-20 08:34:11

标签: java android xml

我有一个包含特殊字符的单词的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

我无法显示特殊字符:⁶,⁷。

有人可以帮我解决问题吗?

谢谢!

3 个答案:

答案 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窗口构建器所做的那样。