JavaのコードをWindowsのコマンドプロンプトで実行すると文字化けしてしまう問題。
やり方が2通りあるので紹介します!!
![471c1995a62dc4b007e3ab8e72e6e08c[1].png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F610089%2Fa8a496a8-3420-a975-ba27-5a006d163917.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=6cf7bce013733dcfc5e7ab48a5ebc774)
なぜ起こるのか
テキストエディタとコマンドプロンプトの文字設定が食い違ってるからみたいです。
コマンドプロンプトのプロパティの「オプション」タグの下部に、
現在のコードページが932 Shift-JISとなっていますね。
けど、VScodeの設定からEncodingを見るとurf8となってるので合わないから化けちゃったのかもです。
なので今回はVScodeに合わせて設定していきます。
前提
- Windowsでプログラミングしている人
- Java初学者
- VScode使ってます。
解決法1 CHCPコマンドを使う
CHCPコマンドとは、文字コードの設定に使えるコマンドのことで、chcp <コードページ番号>と指定すると変更ができ、コマンドプロンプトの設定も変わります。
VScodeと同じUTF-8にしたい場合はコマンドプロンプトでchcp 65001と打つと画面が切り替わります。
あとはいつも通りコンパイルして実行後に文字化けしていなかったら成功です!
javac Sample1.java
java Sample1
Hello, Java!
解決法2 オプションをつける
コマンドラインのオプションを付けて実行する方法。
これでも良いんですけど付けるのがめんどい人は上のやり方がいいです!
javac Sample1.java -J-Dfile.encoding=UTF-8
java Sample1 -J-Dfile.encoding=UTF-8
Hello, Java!