繁体   English   中英

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

[英]Java, Ant error: unmappable character for encoding 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。 您可能希望使用单个编码来维护整个项目。 否则编译器只会在需要编码时看到不同的编码。

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

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

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

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

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

转到eclipse更改编码中的RUN / DEBUG配置的公共选项卡为UTF-8。

改变编码

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

Window> Preferences> General> Workspace,将“Text file encoding”设置为“Other:UTF-8”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM