当我使用ant编译我的Web应用程序时,我得到以下编译器消息:
unclosed character literal
违规行代码是:
protected char[] diacriticVowelsArray = { 'á', 'é', 'í', 'ó', 'ú' };
编译器消息是什么意思?
答案 0 :(得分:6)
Java通常希望其源文件以UTF-8编码。您是否已将编辑器设置为使用UTF-8编码保存源文件?问题是如果您使用不同的编码,那么Java编译器将会混淆(因为您使用的字符将在UTF-8和其他编码之间进行不同编码)并且无法解码您的源。
您的Java也可能设置为使用不同的编码。在这种情况下,请尝试:
javac -encoding UTF8 YourSourceFile.java
答案 1 :(得分:2)
对包含Java源的文本文件使用UTF编码。
或
使用'\uCODE'
,其中CODE是á,é等的Unicode编号(例如'á'
编写'\u00E1'
)。
你可能需要这个:
答案 2 :(得分:1)
使用"
代替'
字符对我来说很有效。
它也可以使用javac -encoding UTF8
参数,如前所述。
这意味着编译器未使用UTF8编码。