0

我正在用 Eclipse IDE 用 java 编写程序,我想用希腊语写我的评论。所以我将编码从 Window->Preferences->General->Content Types->Text->Java Source File 更改为 UTF-8。我的代码中的注释没问题,但是当我运行我的程序时,一些单词包含奇怪的字符,例如San Germ�nSan Germán)。如果我将编码更改为 ISO-8859-1,当我运行程序时一切正常,但我的代码中的注释不是(奇怪的字符!)。那么,它出了什么问题呢?

编辑:我的程序在 java swing 中,带有 UTF-8 的奇怪字符是 JTable 单元格中的字符串。

编辑(2):好的,我解决了我的问题,我为 java 文件保留了 UTF-8 编码,但我更改了字符串的编码。String k = new String(myStringInByteArray,ISO-8859-1);

4

1 回答 1

2

这很可能是由于编译器在读取源代码时未使用正确的字符编码。这是在系统之间移动时非常常见的错误来源。

解决它的典型方法是使用纯 ASCII(在 Windows 1252 和 UTF-8 中相同)和“\u1234”编码方案(unicode 字符 0x1234),但作为 Eclipse 处理有点麻烦(最后我看的时间)没有透明地支持这一点。

但是,属性文件编辑器确实如此,因此一个合理的建议可能是您将所有字符串放在一个属性文件中,并在需要显示它们时将这些字符串作为资源加载。这也是对 Locales 的一个很好的介绍,当您希望您的应用程序能够说一种以上的语言时需要这些语言环境。

于 2013-06-02T12:45:08.397 回答