蚂蚁错误:编码Cp1252的不可映射字符



当我通过ant构建我的项目时,我得到以下错误:

ResourceManagerJDBCRAHA.java:40: error: unmappable character for encoding Cp1252  
If a ConnectionManager of type “JDBCxE2|x80? is found, it instantiates the class

这部分代码实际上是java文件中的注释,如下所示

/* If a ConnectionManager of type “JDBC” is found, it instantiates the class */

当我为JDBC添加单引号而不是双引号时(见下文),我没有得到这个错误

/* If a ConnectionManager of type 'JDBC' is found, it instantiates the class */

以下是我的问题:-

    为什么会发生这种情况?
  1. 我能做些什么来解决这个问题,即通过保留双引号

我已经尝试添加编码属性,如下修复问题,但在其他地方产生问题

<javac .....  encoding="UTF-8"> .... </javac> 
error: unmappable character for encoding UTF-8

我更喜欢保持默认值,即不添加encoding属性。

如果仔细看一下注释,就会发现实际上有两种不同的双引号字符:(")和(")。(我不完全相信这与您的源代码匹配…因为我还没能把它拆下来

简单的答案是只使用ASCII双引号字符。

更复杂的答案是确保你知道你的文件的字符编码真的是什么,然后在build.xml文件中设置编码。


我更喜欢保持默认值,即不添加encoding属性。

这是最好的答案,但它要求您只在源代码中使用默认字符集中的字符。由于您永远无法完全确定编译平台的默认字符集是什么……坚持使用7位ASCII,并使用双引号字符:(")。

最新更新