Java

Java コンパイルエラー エンコーディングwindows-31jにマップできません

とにかくJavaに触れてみる①

続くか分からないけど続きものっぽいタイトルにしてみました。

今まで経験出来なかったJava。
ちょっと憧れのあるJava。
今回やっとチャレンジ出来ると思ったら、目の前で別の人に持っていかれちゃいました。
なので、悔しいから自発的にJavaのお勉強を開始。

参考サイト

一番かんたんなJava入門
DAY5:エラー: この文字は、エンコーディングMS932にマップできません

いざ開始

とにかく簡単に始めようと思って、まずは参考サイト様「一番かんたんなJava入門」の
手順通りに環境を整えて、いざ「Hello World」へと思ったらエラー発生。
原因は、JDKとJREのバージョンの差異でした。
こちらは、環境変数の順位を変えてあげることで対応できました。
(私のPC内にはJREがバージョン違いで複数存在していました)

続いて、日本語が入ったプログラムをコンパイルをしようと思ったら
またもやエラー発生。

原因は、文字コードの違いらしく、こちらも参考サイト様「DAY5:エラー: この文字は、エンコーディングMS932にマップできません」を参考に、コンパイル時に文字コードを指定して解決できました。

エラー:この文字(0xEF)は、エンコーディングwindows-31jにマップできません
原因:文字コードの違い
対応方法:「-encoding UTF-8」を付けてコンパイル

javac -encoding UTF-8 Scores.java

感想

今まで手が出せずにいたJava。
遠くの方で「Javaのバージョンが違うからさぁ~」とか言っていた意味がようやく分かりました。
なかなか業務では経験できないけど、細々と続けていけたらいいなと思っています。