当前位置: 首页 > 知识库问答 >
问题:

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

那弘
2023-03-14

我在项目中使用Java、Eclipse和Ant。我有一些Java代码需要编辑并在其中添加一些UTF-8字符。以前是我的身材。xml:而且它工作得很好。现在,在我尝试运行时添加这些UTF-8字符之后,它抛出“错误:编码Cp1252的不可映射字符”

谁能告诉我解决办法是什么?我试图改变编码UTF-8和cp1252在xml但没有运气。

我使用的是JRE7、Eclipse开普勒和蚂蚁4.11。

共有3个答案

夏高朗
2023-03-14

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

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

  1. eclipse项目级别的编码更改为UTF-8(项目属性-

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

宋和颂
2023-03-14

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

邢昂然
2023-03-14

这可能很棘手,因为更改“广告”编码并不能弥补文件中存在无法使用UTF-8解释理解的字节这一事实。在Ant中,您需要更新javac任务以添加类似于

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

 类似资料:
  • 所以我一直在学习如何在Eclipse中使用JavaFX,并且遇到了一个字符编码错误,它总是发生在类声明之前的最后一个字符上。 每当我运行脚本时,都会出现一个程序错误,该错误正好说明: “无法完成保存。请尝试文件。” 我试过下载一个支持FX的程序,叫做IntelliJ IDEA,同样的错误也发生在那个程序上。然而,我通过手工重写最后一次导入,设法在IntelliJ上修复了这个错误。不幸的是,当我使用

  • 问题内容: 我目前正在研究一个Java项目,该项目在编译时会发出以下警告: 我不确定SO如何在日期之前呈现该字符,但是它应该是版权符号,并在警告中以菱形问号显示。 值得注意的是,该字符正确地出现在输出工件中,但是警告令人讨厌,并且文本编辑器可能有一天会触摸包含此类的文件,而该文本编辑器会错误地保存编码… 如何将这个字符注入“版权”字符串中,以使编译器满意,并且将符号保留在文件中而没有潜在的重新编码

  • 我在Eclipse Kepler上开发MacOs。 但我是通过Eclipse运行maven的,Eclipse说平台编码宏...当我运行一个 清洁安装 在我的pom.xml中,我将其设置为this以设置UTF-8: [INFO]----maven-resources-plugin:2.6:resources(default-resources)@CleanOmicsTracer----[INFO]使

  • 我有字节数组,它放在InputStreamReader中,用它做一些操作。 JVM有默认的cp1252编码,但是我转换成字节数组的文件有utf-8编码。此外,这个文件有德语umlauts。当我把字节数组放在InputStreamReader中时,java会将元音解码为错误的符号。例如,ürepression为。我试着把“utf-8”和charset.forname(“utf-8”).newdeco

  • 我在几个stackoverflow的答案中读到,当从Cp1252(又名Windows-1252;它们是相同的,不是吗?)转换时,一些字符不会直接映射(甚至“不可映射”)至UTF-8,例如,此处:https://stackoverflow.com/a/23399926/2018047 有人能再解释一下吗?这是否意味着,如果我将源代码从cp1252批量/批量转换为utf-8,我将得到一些最终将成为垃圾

  • 我们运行了一些java代码,使用cron在Linux中持久化生产数据库中的数千条记录。该框中的区域设置字符是"ANSI_X3.4-1968"。现在,我们在将这些持久化到数据库之前采取了以下步骤。1.在文本2上使用StringEscape eUtils.unescapeHtml4。以UTF-8格式写入字符串并在数据库中持久化 现在的问题是在这些步骤之后,特殊字符显示为“?”。有没有可能把它还原回原来