
我在显示特殊字符时遇到问题。我被告知编码中有一个错误。我正在我的测试设备上运行应用程序,但是我没有得到这个错误。收到此错误的人正在同一设备型号上测试应用程序,但使用的是较新的固件版本。
我被告知“那个字形是替换字符。你在某个地方搞错了你的文件编码。所有的东西都应该是UTF-8,以保持理智。”然而,它在我的设备上运行得很好。
是否有已知的解决此类问题的方法。太好了!
编辑-下面是一个错误的图像,当我试图复制一个从未合作过的china..having工程师写的代码时,我不确定这是不是一个常见的问题,最终反映在应用程序utf-8 error上

发布于 2012-09-25 00:09:39
好吧..。为什么要在.java文件中定义字符串?它们最终需要存在于strings.xml中才能本地化,无论如何,这就是安卓的方式。
如果您查看您的strings.xml文件的顶部,您会看到像这样的一行,
<?xml version="1.0" encoding="utf-8"?>这告诉使用这个文件的任何东西,字符被编码为UTF-8 (很明显)。您将在.java文件中找不到这样的行。它将被编码为eclipse缺省值,这取决于您的主机操作系统,并且几乎可以肯定不是UTF-8。保存.java文件时,特殊字符将在编码过程中丢失。
发布于 2012-09-22 15:27:16
简单的解决方案:Always strings.xml。
当您从java代码中加载一个字符串时,它可能会被破坏,这取决于IDE (Eclipse?)认为.java文件的编码应该是什么,以及java编译器是怎么想的。
默认情况下,我的Eclipse工作区对.java文件使用Windows编码(CP1252)。您可以在文件属性中看到编码。它正确地显示了strings.xml文件的UTF-8。
https://stackoverflow.com/questions/12539807
复制相似问题