当我通过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
我更喜欢保持默认值,即不添加encoding属性。
如果仔细看一下注释,就会发现实际上有两种不同的双引号字符:(")和(")。(我不完全相信这与您的源代码匹配…因为我还没能把它拆下来
简单的答案是只使用ASCII双引号字符。
更复杂的答案是确保你知道你的文件的字符编码真的是什么,然后在build.xml
文件中设置编码。
我更喜欢保持默认值,即不添加encoding属性。
这是最好的答案,但它要求您只在源代码中使用默认字符集中的字符。由于您永远无法完全确定编译平台的默认字符集是什么……坚持使用7位ASCII,并使用双引号字符:(")。