29

很直接的问题。有没有办法将 Eclipse 配置为使用带有和不带有 BOM 的 utf-8 编码的文本文件?

到目前为止,我已经将 Eclipse 与 utf-8 编码一起使用并且它可以工作,但是当我尝试编辑由另一个包含 BOM 的编辑器生成的文件时,Eclipse 无法正确处理它,它在文件的开头(BOM)。有没有办法让 Eclipse 理解带有 BOM 的 utf-8 编码文件?

4

1 回答 1

19

错误 78455(“提供强制将 BOM 写入 UTF-8 文件的选项”)和错误 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' 编码之外,不会免费插入(写入时)或丢弃(读取时)BOM
即使这让最终用户感到困惑,这也是所有 Java 应用程序的工作方式。
如果应用程序想要支持创建带有 BOM 的 UTF-8 文件来满足用户的期望,那么它们需要自己提供这种能力(因为 Java 和资源模型都无法提供帮助)。
Eclipse 确实在检测 BOM 方面提供了一些改进,但在生成或跳过它们方面没有。

于 2010-05-25T15:19:07.997 回答