2011-08-08 5 views
2

私はantを使用して自分のWebアプリケーションをコンパイルするとI次のコンパイラメッセージが表示されます。Antのコンパイル:閉じられていない文字リテラル

unclosed character literal 

問題のあるコードの行は次のようになります。コンパイラメッセージを何

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

平均?

+1

を。あるいは、それぞれをユニコード値として指定し、それを使って処理してください。 – Paul

答えて

6

Javaは、通常、ソースファイルがUTF-8でエンコードされることを想定しています。 UTF-8エンコーディングを使用してソースファイルを保存するようにエディタを設定しましたか?問題は、別のエンコーディングを使用するとJavaコンパイラが混乱し(UTF-8と他のエンコーディングの間で別々にエンコードされる文字を使用しているため)、ソースをデコードできなくなるためです。

Javaが別のエンコーディングを使用するように設定されている可能性もあります。その場合、試してみてください:

javac -encoding UTF8 YourSourceFile.java 
+3

私のantビルドスクリプトのjavacコマンドに 'encoding =" utf8 "'を追加しました。うまくいきました。 – Mike

2

JavaソースのテキストファイルにUTFエンコードを使用してください。

または

CODEは、AのUnicode番号、電子など('á'のためにあなたが'\u00E1'を書くような)で使用'\uCODE'

あなたはこの必要がある場合があります:あなたは、問題の原因となっている1見つけ出すまでの時間であなたの配列の文字を作ってみましょう

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

+1

知られているような騒ぎの危険がありますが、Unicodeは標準であり、UTF-8、UTF-16、およびUTF-32はエンコーディングを実装しています。しかし、\ uXXXXの良いアドバイス。オープンソースではありませんが、[BabelPad](http://www.babelstone.co.uk/software/babelpad.html)(Windowsのみ、申し訳ありません!)は、コードポイント/文字を検索するための非常に便利なユーティリティです\ uXXXXのXXXX)。 –

+0

ありがとう、私はそれを変更しました;) –

関連する問題