我无法在 AndroidSutdio 调试或 android 布局中正确查看我的 UTF8 字符串。下面是我的代码:
字符串 test1 = "hélǐ";
结果是 test1 = hélÇ�
test1 看起来类似于在 notepad++ 中使用 ANSI 编码读取我的 UTF8 字符串。但是,如果我直接将其编码到 XML 布局中(而不是使用 Button.setHint() 方法),我可以正确看到 hélǐ。
更新 1:感谢 Jon Skeet 指出 test1.lenght() = 6 而不是 4 因此不是显示问题。更新 2:感谢 Joop Eggen 指出“h\u00e9l\u012d”返回正确答案 更新 3:我已将我的代码复制粘贴到 eclipse 上的等效 android 项目中,它工作正常。因此它必须是与 AndroidStudio 相关的问题。更新 4:添加了一个变量 JAVA_TOOL_OPTIONS = -Dfile.encoding=UTF-8 以强制 javac 使用该命令,但对结果没有影响。更新 5:我在 ubuntu 上安装了 AndroidStudio 并复制粘贴我的代码,它在那里运行良好。但是如何在 AndroidStudio Windows 上修复它?(不幸的是我需要使用Windows)
以前有人遇到过这个问题吗?如何在不使用 \u 代码的情况下进行修复 谢谢
笔记:
- 我正在使用 AndroidStudio
- 在我的 Javac 和 Android DX 编译器中,我添加了 -encoding utf8
- 在我的 AndroidStudio 中,所有文件编码都设置为 utf8(我可以在右下角看到 utf8)
- Charset.defaultCharset() 返回 utf8
- InputStreamReader.getEncoding() 返回 utf8
- 我所有的 xml 布局顶部都有一个 utf8 标志
- Notepad++ 使用 utf8 编码正确读取了我的复制/粘贴“hélǐ”。