我正在尝试使用ANT构建我的java项目。
当运行ant命令时,我得到以下错误:
error: unmappable character for encoding Cp1252
我也参考了之前关于这个查询的帖子,并按照建议将'encoding'属性添加到javac属性
<javac ..... encoding="UTF-8"> .... </javac>
,这反过来给了我以下错误:-
error: unmappable character for encoding UTF-8
我不能对我的代码进行任何更改,所以我希望是否有任何其他解决方案。
使用像notepad++这样的文本编辑器,您可以找到要编译的java代码的编码,并将编码传递给ant编译器。
这个线程可能有用:notepad++可以识别编码吗?
您需要定义项目源代码的编码,因为可能同时包含CP1252和UTF-8文件,所以您需要修复它。错误信息应该告诉您文件名和非法序列发生的位置。然后,您应该使用通常的编辑器打开该文件(希望将编码存储在某个地方),并将其转码为目标编码。
对于第一条错误消息,考虑CP1252是一个固定长度的单字节编码,从这个CP1252表中,似乎只有几个字节不代表任何字符:
0x81
0x8D
0x90
0x9D
您可以使用十六进制编辑器打开文件,并识别其中一个字节的第一次出现,以帮助您猜测字符集,如果它既不是CP1252也不是UTF8,并且您绝对无法弄清楚它是什么