Ant编译:未封闭的字符文字

问题描述 投票:2回答:3

当我使用ant编译Web应用程序时,我收到以下编译器消息:

unclosed character literal

有问题的代码行是:

protected char[] diacriticVowelsArray = { 'á', 'é', 'í', 'ó', 'ú' };

编译器消息是什么意思?

java compiler-construction ant
3个回答
6
投票

Java通常期望其源文件以UTF-8编码。您是否已设置好编辑器以使用UTF-8编码保存源文件?问题是,如果您使用不同的编码,那么Java编译器会感到困惑(因为您使用的字符在UTF-8和其他编码之间的编码方式有所不同),并且无法解码源代码。

您的Java也可能设置为使用其他编码。在这种情况下,请尝试:

javac -encoding UTF8 YourSourceFile.java

2
投票

使用Java源代码对文本文件使用UTF编码。

使用'\uCODE',其中CODE是á,é等的Unicode编号(就像写'á''\u00E1'一样。]

您可能需要这个:

http://www.fileformat.info/info/unicode/char/e1/index.htm


0
投票

[使用"而不是'字符对我有用。

它也像前面描述的那样工作javac -encoding UTF8参数。这意味着编译器未使用UTF8编码。

© www.soinside.com 2019 - 2024. All rights reserved.