[解決済み]エラー:ASCIIをエンコードするためのマップできない文字(Javaコンパイル中にエラーが発生しました)



Error Unmappable Character



序文

この記事は、Javaコンパイルのエラーメッセージを解決することを目的としています。
error: unmappable character for encoding ASCII

1問題のシナリオ

システム:Ubuntu 14.04
jdkバージョン:1.7



Javaプロジェクトをコンパイルしているときに、エラーが発生しました。
error: unmappable character for encoding ASCII、以下に示すように。
画像

2つの理由

理由は簡単だと思います。漢字が含まれているはずです(??と表示されているので、詳細については説明しません)。そのようなエラーを報告します。



3ソリューション1

Javaコンパイルエラーメッセージプロンプト??によると、対応するコードの疑問符を削除し、保存して再コンパイルすると、エラーは発生しません。

ただし、将来同様の問題が発生した場合は、この「根本原因ではなく症状の治療」を手動で修正する必要があります。

したがって、解決策2を与えます。



4ソリューション2

in /etc/profileファイルの最後に追加:export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8 OK。

具体的な操作は次のとおりです。

sudo nano /etc/profile (modify /etc/profile file requires sudo permission, you can use nano editor, you can also use vim, gedit, etc.) Then add: export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8 source /etc/profile (make the modification of /etc/profile take effect immediately)

次に、このプロジェクトをJavaでコンパイルすると、エラーは報告されません。

もちろん、面倒な場合は、直接ctrl+alt+c Ubuntuターミナルを開いてexport JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8と入力することもできます。はい。ただし、次回起動したときに有効になるかどうかはわかりません。

したがって、実際には、/ etc / profileに直接書き込み、~/.bashrcファイルの最後に行を追加source /etc/profile命令します。これにより、内容(環境変数など)を確認できます/ etc / profile内は、起動してログインするたびに有効になります。

総括する

なぜこの「単純な」質問を文書化するのですか?

最初は正解が見つからなかったので(最初は[2-5]のようなドキュメントを読んでいて、欲しい答えではありませんでした)、途中で検討する必要のある詳細がいくつかあります。私自身、もっと意味があると思うので、ここに記録してください。同じ問題に遭遇した読者がこの記事を見ると、彼らは少しの助けを提供していると見なすことができます。

参照

主な参考資料:
[1] java-ASCIIをエンコードするためのマップできない文字を解決しますが、私のファイルはUTF-8です http://www.itkeyword.com/doc/0410597815430237770/unmappable-character-for-encoding-ascii-but-my-files-are-in-utf-8

以下も参照してください。

[2] Javadocエラー:ASCIIをエンコードするためのマップできない文字 https://stackoverflow.com/questions/22599003/javadoc-error-unmappable-character-for-encoding-ascii
[3] IDEA javadocは、ドキュメントの生成時にエラーを報告しました:エラー:ASCIIをエンコードするためのマップできない文字 https://blog.csdn.net/u013020306/article/details/52767662
[4]デフォルトのJava文字エンコーディングを設定しますか? https://stackoverflow.com/questions/361975/setting-the-default-java-character-encoding
[5]上記のJavaコンパイルを実行すると、GBKをエンコードするためのマップできない文字が表示されます。 https://www.cnblogs.com/yuhuameng/p/5448726.html