当我通过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 */
以下是我的问题: -
我尝试过添加下面的编码属性来修复问题,但会引发其他问题
<javac ..... encoding="UTF-8"> .... </javac>
error: unmappable character for encoding UTF-8
我更倾向于坚持默认,即不添加编码属性。
答案 0 :(得分:2)
如果仔细查看该评论,您会发现实际上有两种不同的双引号字符:(“)和(&#34;)。 (我并不完全相信这与您的源代码相符......&#39;因为我无法将其解除错误。)
简单的答案是专门使用ASCII双引号字符。
更复杂的答案是确保您知道文件的字符编码真的是什么,然后在build.xml
文件中设置该编码。
我更倾向于坚持默认,即不添加编码属性。
这是最好的答案,但它要求您专门使用源代码中默认字符集中的字符。因为你永远无法完全确定编译平台的默认字符集是什么......坚持使用7位ASCII,以及这个双引号字符:(&#34;)。