teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

タイトルの変更、補足の追加

2020/12/10 13:34

投稿

syoshinsya-
syoshinsya-

スコア48

title CHANGED
@@ -1,1 +1,1 @@
1
- Javaから起動したcmdの文字コード変更したい
1
+ exewrapでMain.jarをMain.exeに変換後、ダブルクリックで起動したときに日本語が文字化けするのしたい
body CHANGED
@@ -54,4 +54,12 @@
54
54
  javac -encoding UTF-8 Main.java
55
55
  jar cfm Main.jar Main Main.class
56
56
  ```
57
- でうまくいきます。
57
+ でうまくいきます。
58
+
59
+ ###補足3
60
+ ソースコードに
61
+ ```Java
62
+ System.out.println(System.getProperty("file.encoding"));
63
+ ```
64
+ を追加して確認したところ、exeファイルから起動される画面の文字コードは「MS932」であることがわかりました。
65
+ そのためIntelliJの文字コードの設定を「windows-31j」に変更して再度ビルドしましたがやはり日本語は文字化けしたままでした。

1

補足のついか

2020/12/10 13:33

投稿

syoshinsya-
syoshinsya-

スコア48

title CHANGED
File without changes
body CHANGED
@@ -45,4 +45,13 @@
45
45
 
46
46
  ###補足
47
47
  exeに変換しないで直接jarをダウるクリックすると一瞬cmdの黒い画面が表示されるが、すぐに消えてしまうため動かない。(java.exeを使用)
48
- exeに変換するとcmdの黒い画面が表示され、日本語は文字化けしているが「あああ」や入力、「hi」を確認できる
48
+ exeに変換するとcmdの黒い画面が表示され、日本語は文字化けしているが「あああ」や入力、「hi」を確認できる
49
+
50
+ ###補足2
51
+ Javaソースコードの文字コードは「UTF-8」です
52
+ IntelliJに頼らず、cmdからコンパイルをするときは
53
+ ```cmd
54
+ javac -encoding UTF-8 Main.java
55
+ jar cfm Main.jar Main Main.class
56
+ ```
57
+ でうまくいきます。