質問編集履歴
6
タイトルの変更
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
Javaの標準入力で日本語が半角スペースになってしまう
|
1
|
+
Javaの標準入力で日本語が半角スペースになってしまう
|
body
CHANGED
File without changes
|
5
タグにpowershell、utf-8を追加
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
4
全角文字じゃなくて日本語、試したことを追加
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
Javaの標準入力で
|
1
|
+
Javaの標準入力で日本語が半角スペースになってしまう。
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
VSCodeでJavaのプログラムを書いているのですが、標準入力で
|
1
|
+
VSCodeでJavaのプログラムを書いているのですが、標準入力で日本語を入力すると半角スペースに変換されてしまいます。
|
2
2
|
GitHubのissueなんかも調べてみましたが参考になるものが見つかりませんでした。
|
3
|
-
|
3
|
+
日本語を正しく入力するにはどうすればいいでしょうか。ご教授ください。
|
4
4
|
|
5
5
|
###試したこと
|
6
6
|
|
@@ -36,7 +36,7 @@
|
|
36
36
|
hello
|
37
37
|
```
|
38
38
|
|
39
|
-
helloの前に半角スペース5個(
|
39
|
+
helloの前に半角スペース5個(日本語の文字数と同じ)が表示され、日本語が半角スペースになっていることが分かりました。
|
40
40
|
ターミナルのコマンドも載せておきます。
|
41
41
|
```terminal
|
42
42
|
PS C:\Users\ユーザー名\Documents\VSCode_Sample\Sample_Java>
|
@@ -85,7 +85,7 @@
|
|
85
85
|
|
86
86
|
あれ、空白すら表示されない。。。
|
87
87
|
|
88
|
-
言語によって
|
88
|
+
言語によって日本語が正しく入力できたりできなかったりしたので拡張機能に問題があるのではないかと考えて以下のissuを調べてみましたがめぼしい情報は見つかりませんでした。
|
89
89
|
[Language Support for Java(TM) by Red Hatのissue](https://github.com/redhat-developer/vscode-java/issues?page=3&q=is%3Aissue+is%3Aopen)
|
90
90
|
[Debugger for Javaのissue](https://github.com/Microsoft/vscode-java-debug/issues?q=)
|
91
91
|
|
@@ -109,4 +109,26 @@
|
|
109
109
|
|
110
110
|
また、WindowsのコマンドプロンプトとVSCodeのパワーシェルで`java -classpath [Sampleクラスのある場所] Sample`として実行した場合は上手く実行することができました。
|
111
111
|
|
112
|
-
さらに、この質問[VScodeのデバッグ結果の日本語文字化け改善方法について](https://teratail.com/questions/180547)の回答を参考にlaunch.jsonに`"encoding": "shift_jis"`を追加して実行しようとしましたが、javaのデバッグコンソールで`chcp 932と打ってターミナルの文字コードをshift_JISに変更してから実行すると強制的にUTF-8に戻ってしまい上手く実行することができませんでした。
|
112
|
+
さらに、この質問[VScodeのデバッグ結果の日本語文字化け改善方法について](https://teratail.com/questions/180547)の回答を参考にlaunch.jsonに`"encoding": "shift_jis"`を追加して実行しようとしましたが、javaのデバッグコンソールで`chcp 932と打ってターミナルの文字コードをshift_JISに変更してから実行すると強制的にUTF-8に戻ってしまい上手く実行することができませんでした。
|
113
|
+
|
114
|
+
### 追記3
|
115
|
+
|
116
|
+
同じような問題がGitHubに挙がっていました。
|
117
|
+
VSCodeに問題があると思っていたのですが、どうやら端末またはプログラムに問題があるみたいです。
|
118
|
+
[GitHub Encoding problem? #813](https://github.com/microsoft/vscode-java-debug/issues/813)
|
119
|
+
自分的には、pythonでは問題なく実行できているのでJavaに問題がある?と思ってます。
|
120
|
+
|
121
|
+
試しにWindowsのpowershellで以下の手順で実行したところVSCodeと同じ状況になりました。
|
122
|
+
|
123
|
+
___
|
124
|
+
Windowsのパワーシェルを開いて
|
125
|
+
`chcp 65001`としてUTF-8に切り替え。
|
126
|
+
ソースファイルのある場所まで行って`javac '-encoding' 'UTF-8' 'src\app\Sample.java'`でコンパイル。
|
127
|
+
そのまま`java '-cp' '.\src' '-Dfile.encoding=UTF-8' 'app.Sample'`で実行。
|
128
|
+
`こんにちはhello`と入力したところhelloだけ表示。
|
129
|
+
|
130
|
+
コマンドプロンプトでも同じ結果になりました。
|
131
|
+
|
132
|
+
___
|
133
|
+
また、VSCodeのターミナルの文字コードがUTF-8じゃないと実行に拡張機能の「Debugger for Java」が勝手にUTF-8のターミナルに切り替えてしまうようで、ターミナルの文字コードを変更することも無理そうです。
|
134
|
+
[Stuckoverflow VS Code Java System Output Encoding](https://stackoverflow.com/questions/61099108/vs-code-java-system-output-encoding)
|
3
試したことを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -96,6 +96,17 @@
|
|
96
96
|
JavaSE11
|
97
97
|
因みに、C言語はmingw-w64を使っています。
|
98
98
|
|
99
|
-
### 追記
|
100
|
-
VSCodeのターミナルとコマンドプロンプトどちらも半角スペースになってしまいます。
|
101
|
-
|
99
|
+
### 追記1
|
100
|
+
~~VSCodeのターミナルとコマンドプロンプトどちらも半角スペースになってしまいます。~~
|
101
|
+
integratedTerminalとexternalTerminalのどちらも半角スペースになってしまいます。
|
102
|
+
VSCodeを日本語化してみましたがダメでした。
|
103
|
+
|
104
|
+
### 追記2
|
105
|
+
|
106
|
+
Scannerの初期化部分を
|
107
|
+
`Scanner sc = new Scanner(System.in, "UTF-8");`
|
108
|
+
と変更して実行してみましたが、半角スペースのままでした。
|
109
|
+
|
110
|
+
また、WindowsのコマンドプロンプトとVSCodeのパワーシェルで`java -classpath [Sampleクラスのある場所] Sample`として実行した場合は上手く実行することができました。
|
111
|
+
|
112
|
+
さらに、この質問[VScodeのデバッグ結果の日本語文字化け改善方法について](https://teratail.com/questions/180547)の回答を参考にlaunch.jsonに`"encoding": "shift_jis"`を追加して実行しようとしましたが、javaのデバッグコンソールで`chcp 932と打ってターミナルの文字コードをshift_JISに変更してから実行すると強制的にUTF-8に戻ってしまい上手く実行することができませんでした。
|
2
試したことを追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -94,4 +94,8 @@
|
|
94
94
|
VSCodeのバージョン:1.45.1
|
95
95
|
Windows10
|
96
96
|
JavaSE11
|
97
|
-
因みに、C言語はmingw-w64を使っています。
|
97
|
+
因みに、C言語はmingw-w64を使っています。
|
98
|
+
|
99
|
+
### 追記
|
100
|
+
VSCodeのターミナルとコマンドプロンプトどちらも半角スペースになってしまいます。
|
101
|
+
VSCodeを日本語化してみましたがダメでした。
|
1
微修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -45,7 +45,7 @@
|
|
45
45
|
'C:\Program Files\pleiades\java\11\bin\java.exe'
|
46
46
|
'-agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=localhost:62688'
|
47
47
|
'-Dfile.encoding=UTF-8' '-cp'
|
48
|
-
'C:\Users\
|
48
|
+
'C:\Users\ユーザー名\AppData\Roaming\Code\User\workspaceStorage\070b16fc000831f7cdc3a75aa587efd2\redhat.java\jdt_ws\Sample_Java_776601b8\bin'
|
49
49
|
'app.Sample'
|
50
50
|
```
|
51
51
|
|