我在我的项目中使用 Java、Eclipse 和 Ant。我有一些 Java 代码需要编辑并在其中添加一些 UTF-8 字符。以前我的 build.xml 有: 而且效果很好。现在,当我尝试运行时添加了那些 UTF-8 字符后,它会抛出“错误:用于编码 Cp1252 的不可映射字符”
谁能告诉我解决方法是什么?我尝试在 xml 中将编码更改为 UTF-8 和 Cp1252,但没有运气。
我正在使用 JRE7、Eclipse Kepler 和 Ant 4.11。
这可能很棘手,仅更改“广告”编码并不能弥补文件中存在无法使用 UTF-8 解释来理解的字节这一事实。在 Ant 中,您需要更新javac
任务以添加编码,例如,<javac ... encoding="utf-8">
确保 Eclipse 中的文件编码也是 UTF-8,因为某些 cp1252 字符也不直接映射到 UTF-8。您可能希望使用单一编码来维护整个项目。否则,当编译器只需要一种编码时,它会看到不同的编码。
您可以尝试将名为 ANT_OPTS(或 JAVA_TOOL_OPTIONS)的环境变量设置为-Dfile.encoding=UTF8
在我的一个项目中遇到了类似的问题。我的一些文件有 UTF-8 字符,并且由于 Eclipse 默认编码 - cp1252,构建失败并出现此错误。
要解决此问题,请按照以下步骤操作 -
根据您的代码/文件中使用的特殊字符设置编码类型。
转到 Eclipse 中的 RUN/DEBUG 配置的常用选项卡,将编码更改为 UTF-8。
Window > Preferences > General > Content Types,将 UTF-8 设置为所有内容类型的默认编码。
窗口 > 首选项 > 常规 > 工作区,将“文本文件编码”设置为“其他:UTF-8”。