我在Eclipse(Indigo Service Release 1)中遇到了编码问题。 这是发生的事情:
我有一个德语的属性文件(语言包),当我在Eclipse
中打开它时,它无法正确显示。例如:gelöscht
显示为gel�scht
。我尝试将文件关联更改为Text Editor
,Properties File Editor
,JBoss Tools Properties Editor
,但在所有情况下都显示如下。
有趣的是,当我在Notepad++
中打开文件时,它会正确显示。
在Eclipse
中,文本文件编码设置为UTF-8
,文件的编码(根据Notepad++
)是ANSI。
还有其他我不知道的设置吗?如何修复此问题以在Eclipse
中查看正确的编码?
答案 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。
无法自动识别正确的格式。