2016-04-24 11 views
0

私のコンピュータ(Linux Ubuntu)の /var/www/PhpProject2/Solutions/5/9/1 /にある3つのjavaファイルをコンパイルしようとしています。javacは私のコメントをエラーとしてマークします

:それはこのようになります100のエラーを出力

と のjavac /var/www/PhpProject2/Solutions/5/9/1/*.java:

は、私は私のシェルで次のコマンドを使用しました

エラー:UTF8をエンコードするためのマップ不可能な文字 mergeSort(arr); //

矢印が 記号の1つを指しています。

コンパイルでは、コード内のすべてのコメントを取り除き、エラーとして扱わないため、これは私にとって初めてのことです。

私がこれまでにしようとしているもの:

変更するコマンド:javacはのためのUTF-8 /var/www/PhpProject2/Solutions/5/9/1/*.java

見て-encoding /var/www/PhpProject2/Solutions/5/9/1/UnionIntervals.java

-biファイル

し、私が試した:でファイルのエンコーディング javacは、テキスト/ X-C++ -encoding。 charset = iso-8859-1 /var/www/PhpProject2/Solutions/5/9/1/*.java

すべてが同じエラーで終了しました。次のコマンドは、正確にエラーを与える

> cat test.java 
// ä 

あなたは説明します:

> javac -encoding utf8 test.java 
test.java:1: warning: unmappable character for encoding utf8 
// ? 

正しいエンコーディングを使用して、ファイルがエラーなしに処理されます。

次最小限のJavaファイルを考えると
+0

'hexdump -C'を試して、コンパイラが不平を言い渡している位置でファイルに実際に何が入っているのかを確認してください。 – Markus

+0

あなたの問題はこれと似ている可能性があります:http://stackoverflow.com/questions/4995057/unmappable-character-for-encoding-utf-8-error –

+0

@MichaelMarkidis私は前にこれを読んでいます。 ファイルを再保存しても実際には全く問題はなく、実際のコードにあった場合は私の場合のようにコメントには入っていませんでした。 – JARVIM

答えて

0

> javac -encoding iso-8859-1 test.java 

これは、Javaコンパイラがwholを解析する必要があるためですeファイル(コメントを含む)。コメントは解析後に削除されます。

+0

ありがとうございました!これは実際に私のために働いたが、iso-8859-1が正しいエンコーディングであるとはどう思いましたか? – JARVIM

+0

あなたが提供した 'file'コマンドの出力から推測された推測。ところで、私はあなたの環境を整理すべきだと思います。ソースファイルのエンコーディングはデフォルトのエンコーディングと一致する必要があります。このような問題に対処する必要はありません。 'LANG'環境変数の内容は何ですか? – Markus

+0

私には分かりませんが、どうすればわかりますか? – JARVIM

関連する問題