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


问题内容

我在项目中使用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。您可能需要使用单一编码来维护整个项目。否则,编译器只需要一个编码器时就会看到不同的编码。