Java,Ant错误:编码Cp1252的不可映射字符

Java,Ant错误:编码Cp1252的不可映射字符,java,encoding,ant,utf-8,cp1252,Java,Encoding,Ant,Utf 8,Cp1252,我在项目中使用Java、Eclipse和Ant。我有一些Java代码需要编辑并在其中添加一些UTF-8字符。以前我的build.xml有: 而且效果很好。现在,在我尝试运行时添加这些UTF-8字符之后,它抛出“错误:编码Cp1252的不可映射字符” 有人能告诉我怎么解决吗?我尝试在xml中将编码更改为UTF-8和Cp1252,但没有成功 我使用的是JRE7、Eclipse Kepler和Ant 4.11。这可能很棘手,仅仅更改“公布”编码并不能弥补文件中存在无法使用UTF-8解释理解的字节这一事

我在项目中使用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
任务以添加类似于


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

您可以尝试将名为ANT\u OPTS(或JAVA\u TOOL\u OPTIONS)的环境变量设置为
-Dfile.encoding=UTF8
转到eclipse中运行/调试配置的公共选项卡将编码更改为UTF-8


在我的一个项目中也有类似的问题。我的一些文件有UTF-8字符,由于eclipse默认编码-cp1252,生成失败并出现此错误

要解决此问题,请执行以下步骤-

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

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

    窗口>首选项>常规>内容类型,将UTF-8设置为所有内容类型的默认编码


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

    如何:确保Eclipse中的文件编码也是UTF-8?问题应该在四个位置同时解决:我遇到了相同的问题。下面的解决方案都不起作用。我用正确的编码创建了一个新文件,然后复制并粘贴了类(.java)的内容。这对我有用。在此之前,当我运行ant时,未知字符一直在重新插入自身,而当我显式删除它并保存文件时,该事件一直在重新插入自身。奇怪吧?