1

我正在尝试使用 ANT 构建我的 java 项目。

运行 ant 命令时出现以下错误:

error: unmappable character for encoding Cp1252

我还参考了与此处相同的查询相关的先前帖子,并建议将“编码”属性添加到 javac 属性中

<javac .....  encoding="UTF-8"> .... </javac> 

这反过来又给了我以下错误:-

error: unmappable character for encoding UTF-8

我无法对我的代码进行任何更改,所以我希望是否有任何其他解决方案。

4

2 回答 2

0

使用像 Notepad++ 这样的文本编辑器,您可以找出您尝试编译的 java 代码的编码,并将编码传递给 ant 编译器。

这个线程可能有用:Notepad++ 可以识别编码吗?

于 2015-09-02T06:24:13.397 回答
0

您需要定义项目源的编码,因为可能同时包含 CP1252 和 UTF-8 文件,因此您需要修复它。错误消息应该告诉您文件名和非法序列发生的位置。然后,您应该使用常用的编辑器(希望将编码存储在某处)打开文件并将其转码为目标编码。

在第一个错误消息的情况下,认为 CP1252 是一个固定长度的单字节编码,从这个 CP1252 表看来只有几个字节不代表任何字符:

0x81
0x8D
0x90
0x9D

您可以使用十六进制编辑器打开文件并识别其中一个字节的第一次出现,以帮助您猜测字符集是否既不是 CP1252 也不是 UTF8 并且您绝对无法弄清楚它是什么。

于 2015-09-02T06:33:50.173 回答