19

我在我的项目中使用 Java、Eclipse 和 Ant。我有一些 Java 代码需要编辑并在其中添加一些 UTF-8 字符。以前我的 build.xml 有: 而且效果很好。现在,当我尝试运行时添加了那些 UTF-8 字符后,它会抛出“错误:用于编码 Cp1252 的不可映射字符”

谁能告诉我解决方法是什么?我尝试在 xml 中将编码更改为 UTF-8 和 Cp1252,但没有运气。

我正在使用 JRE7、Eclipse Kepler 和 Ant 4.11。

4

5 回答 5

21

这可能很棘手,仅更改“广告”编码并不能弥补文件中存在无法使用 UTF-8 解释来理解的字节这一事实。在 Ant 中,您需要更新javac任务以添加编码,例如,<javac ... encoding="utf-8">

确保 Eclipse 中的文件编码也是 UTF-8,因为某些 cp1252 字符也不直接映射到 UTF-8。您可能希望使用单一编码来维护整个项目。否则,当编译器只需要一种编码时,它会看到不同的编码。

于 2014-04-30T23:43:21.803 回答
11

您可以尝试将名为 ANT_OPTS(或 JAVA_TOOL_OPTIONS)的环境变量设置为-Dfile.encoding=UTF8

于 2014-04-30T23:46:43.483 回答
4

在我的一个项目中遇到了类似的问题。我的一些文件有 UTF-8 字符,并且由于 Eclipse 默认编码 - cp1252,构建失败并出现此错误。

要解决此问题,请按照以下步骤操作 -

  1. 将eclipse项目级别的编码更改为UTF-8(项目属性->“文本文件编码”->选择“其他”选项->从下拉列表中选择“UTF-8”)
  2. 在 ant 构建脚本中为 javac 任务添加编码属性,值为“UTF-8”

根据您的代码/文件中使用的特殊字符设置编码类型。

于 2015-02-03T01:29:42.357 回答
1

转到 Eclipse 中的 RUN/DEBUG 配置的常用选项卡,将编码更改为 UTF-8。

更改编码

于 2014-10-21T16:36:13.940 回答
0

Window > Preferences > General > Content Types,将 UTF-8 设置为所有内容类型的默认编码。

窗口 > 首选项 > 常规 > 工作区,将“文本文件编码”设置为“其他:UTF-8”。

于 2019-01-05T06:28:51.923 回答