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