我有一个显示特殊字符的问题。我被告知编码有错误。我在我的测试设备上运行应用程序,我得到了这个错误。收到此错误的人正在测试同一设备型号上的应用程序,但使用较新的固件版本。
我被告知“字形是替换字符。你已经搞砸了你的文件编码。一切都应该是UTF-8以保持理智。”然而,它在我的设备上正常运行。
是否有针对此类问题的已知修复程序。日Thnx!
编辑 - 下面是我试图复制中国工程师编写的代码时出现的错误图像...之前从未合作过这样我不确定这是否是一个特殊问题,最终会反映在应用utf-8 error
答案 0 :(得分:1)
嗯......为什么要在.java文件中定义字符串?他们最终需要存在于strings.xml
才能进行本地化,无论如何都是Android方式。
如果你查看strings.xml
文件的顶部,就会看到这样一行,
<?xml version="1.0" encoding="utf-8"?>
告诉消息这个文件将字符编码为UTF-8(显然)。你会在你的.java文件中找不到这样的行。它将被编码为eclipse默认值,这取决于您的主机操作系统,几乎肯定不是UTF-8。保存.java文件时,您的特殊字符会在编码过程中丢失。
答案 1 :(得分:0)
简单解决方案:始终使用strings.xml
。
当您从Java代码中加载字符串时,它可能会受到损坏,具体取决于IDE(Eclipse?)认为.java文件的编码应该是什么以及java编译器的想法。
我的Eclipse工作区默认使用.java文件的Windows编码(CP1252)。您可以在文件属性中看到编码。它正确显示了strings.xml文件的UTF-8。