【IntelliJ IDEA】日本語を含むファイルをJavadocで生成したとき「エラー: この文字(○○)は、エンコーディングwindows-31jにマップできません」が表示されたときの原因と解決策をお伝えします

ツール

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。

この記事ではIntelliJ IDEAで日本語を含むファイルをJavadocで生成しようとしたとき
IntelliJ IDEAでJavadocを生成したときとき日本語が文字化けしたときの解決方法

というエラーメッセージが表示されたときの

  • エラーの原因
  • エラーの解決策

と、この記事で丁寧に解説していきます。

前提:実施している環境

この記事では、以下の環境で行っています。

OS Windows10
IntelliJ IDEAのエディション Community(無料版)
IntelliJ IDEAのバージョン 2021.3.2
プロジェクト Javaプロジェクト

なお、解説で使っているIntelliJ IDEAには日本語化対応を行っています。
やり方はこちらの記事をご参考ください。

「エラー: この文字(○○)は、エンコーディングwindows-31jにマップできません」が表示される原因

「エラー: この文字(○○)は、エンコーディングwindows-31jにマップできません」が表示される原因は、デフォルトでOSのエンコードでしようとすることが原因です。

どういうことかと言いますと、たとえば以下の【User.java】の文字コードは【UTF-8】です。
IntelliJ IDEAでJavadocを生成したときとき日本語が文字化けしたときの解決方法

しかしOSはWindowsなので、文字コード【windows-31j】を使ってエンコードしようとします。
文字コードに食い違いがあるため、Javadocが生成できず

というエラーメッセージが表示される、というわけです。

なので、Javadocを生成するときエンコードする文字コードを指定してあげれば解決できます!

解決策

解決策をお伝えします。

Javadocを生成するときに指定するオプションで文字コードを指定すればOKです。
具体的に【生成オプション】【その他のコマンドライン引数】

です。
この記事では【UTF-8】でエンコードしたいので

を指定します。
IntelliJ IDEAでJavadocを生成したときとき日本語が文字化けしたときの解決方法

【OK】ボタンを押すとエラーメッセージが出力されることなく、Javadocを生成することができます。
IntelliJ IDEAでJavadocを生成したときとき日本語が文字化けしたときの解決方法

まとめ:「エラー: この文字(○○)は、エンコーディングwindows-31jにマップできません」が表示されたときは文字コードを確認しよう!

以上がIntelliJ IDEAで日本語を含むファイルをJavadocで生成したとき「エラー: この文字(○○)は、エンコーディングwindows-31jにマップできません」が表示されたときの原因と解決策でした。

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました