Eclipse中无法识别的特殊字符

时间:2012-03-12 11:35:58

标签: java eclipse encoding resourcebundle

我在Eclipse(Indigo Service Release 1)中遇到了编码问题。 这是发生的事情:

我有一个德语的属性文件(语言包),当我在Eclipse中打开它时,它无法正确显示。例如:gelöscht显示为gel�scht。我尝试将文件关联更改为Text EditorProperties File EditorJBoss Tools Properties Editor,但在所有情况下都显示如下。

有趣的是,当我在Notepad++中打开文件时,它会正确显示。 在Eclipse中,文本文件编码设置为UTF-8,文件的编码(根据Notepad++)是ANSI。

还有其他我不知道的设置吗?如何修复此问题以在Eclipse中查看正确的编码?

2 个答案:

答案 0 :(得分:5)

您如何阅读属性文件?将它们存储在除ISO-8859-1之外的任何非ASCII编码(基础设施的各种位置所需的默认编码)或UTF-8对我来说听起来不错。我强烈建议你坚持使用ASCII,ISO-8859-1或UTF-8。

现在,您可以使用任何Properties加载Reader,但UTF-8通常是最适合用于需要处理非ASCII字符并可在任何计算机上运行的文件的编码。

您可以可能强制Eclipse将其视为使用差异编码,右键单击文件,选择“属性”,然后选择“文本文件编码”。资源页面 - 但我建议您这样做。

另一种方法是使用带有native2ascii生成的\u....转义序列的ASCII码。

(虽然可以包含非ASCII ISO-8859-1字符,但我个人不会 - 当字符不是ASCII时很明显,但ISO-8859-1和ISO-8859-1之间的区别很明显其他编码变得更难以用肉眼发现。)

答案 1 :(得分:0)

文本文件不带有编码信息,所以你看到的是最好的猜测。 Notepad ++只是猜测文件是ANSI。

有问题的文件不是UTF8(或者上次有人编辑时至少没有以这种方式保存)。您必须将文件重新保存为UTF8或将Eclipse中的编码更改为CP1252。

无法自动识别正确的格式。