【Java】コンパイル時のエラー「この文字は、エンコーディングMS932にマップできません」
皆さんこんにちは、江南です。
プログラミングの勉強を初めて、早4ヶ月。
今日もゴリゴリ、お手本コードを書き写してます。
そのコードをコマンドプロンプトで実行しようとした際、最初ほんとにうまく行かなかったんです。
今回は、その原因を一応参考に残して置きたいと思います。
ファイルをコンパイルしようとすると、エラーになる!!
コマンドプロンプト上でJavaを実行するとき、コンパイルを行う必要があります。
Javaのファイルをコンパイルする際のコマンド(私は呪文と呼んでいます)は、
javac
でしたね。
しかし、「 javac [ファイル名.java] 」と入力してみると以下のようなエラーが出てきました。
エラー:この文字は、エンコーディングMS932にマップできません
System.out.println(“文字化け”);
結論から言います。
私の場合、このエラーの原因は文字のエンコードでした。
そこで、調べた結果、このようにコンパイル時のコマンドを変更することで、解消しました。
javac -encoding utf-8 ファイル名.java
これで、エラーが出ず、コンパイルを終えることができます。
そうしたら、
java ファイル名
で、コマンドプロンプト上で文字化けせずに、実行することができました。
おわりに
いやー、プログラミングってほんと、奥が深いですね(白目)
※なお、utf-8 以外にも、
javac -encoding sjis ファイル名.java
など、いろいろ文字のエンコーディングはあるようです。
いやー、ほんと(省略)