非常直截了当的问题。有没有办法配置Eclipse以使用带有和不带BOM的utf-8编码的文本文件?
到目前为止,我已经将eclipse与utf-8编码一起使用了,但是当我尝试编辑由另一个包含BOM的编辑器生成的文件时,Eclipse无法正确处理它,它会显示一个不可见的字符'在文件的开头(BOM)。有没有办法让Eclipse了解带有BOM的utf-8编码文件?
答案 0 :(得分:18)
bug 78455(“提供强制将BOM写入UTF-8文件的选项”)和bug 136854都不会给这样的选项留下太多希望。
工作空间中对编码的支持基于Java提供的内容 对于工作空间中的任何给定资源,可以获取可与任何采用字符串字符串的Java API一起使用的字符串字符串。
例如:
- '
US-ASCII
',- '
UTF-8
',- '
Cp1252
',- '
UTF-16
'(Big Endian,自动插入BOM),- '
UTF-16BE
'(Big Endian,BOM未自动插入),- '
UTF-16LE
'(Little Endian,BOM未自动插入)。对于Java编码,除了'UTF-16'编码之外,BOMs不会被插入(写入时)或被丢弃(阅读时)免费。
即使这对最终用户来说是令人费解的,这也是所有Java应用程序的工作方式 如果应用程序想要支持创建带有BOM的UTF-8文件以满足用户的期望,他们需要自己提供这样的功能(因为Java和Resources模型都不会对此有所帮助)。登记/> Eclipse确实在检测BOM时提供了一些改进,但没有生成或跳过它们。