質問編集履歴
6
タイトルの変更
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Javaの標準入力で日本語が半角スペースになってしまう
|
1
|
+
Javaの標準入力で日本語が半角スペースになってしまう
|
test
CHANGED
File without changes
|
5
タグにpowershell、utf-8を追加
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
4
全角文字じゃなくて日本語、試したことを追加
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Javaの標準入力で
|
1
|
+
Javaの標準入力で日本語が半角スペースになってしまう。
|
test
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
VSCodeでJavaのプログラムを書いているのですが、標準入力で
|
1
|
+
VSCodeでJavaのプログラムを書いているのですが、標準入力で日本語を入力すると半角スペースに変換されてしまいます。
|
2
2
|
|
3
3
|
GitHubのissueなんかも調べてみましたが参考になるものが見つかりませんでした。
|
4
4
|
|
5
|
-
|
5
|
+
日本語を正しく入力するにはどうすればいいでしょうか。ご教授ください。
|
6
6
|
|
7
7
|
|
8
8
|
|
@@ -74,7 +74,7 @@
|
|
74
74
|
|
75
75
|
|
76
76
|
|
77
|
-
helloの前に半角スペース5個(
|
77
|
+
helloの前に半角スペース5個(日本語の文字数と同じ)が表示され、日本語が半角スペースになっていることが分かりました。
|
78
78
|
|
79
79
|
ターミナルのコマンドも載せておきます。
|
80
80
|
|
@@ -172,7 +172,7 @@
|
|
172
172
|
|
173
173
|
|
174
174
|
|
175
|
-
言語によって
|
175
|
+
言語によって日本語が正しく入力できたりできなかったりしたので拡張機能に問題があるのではないかと考えて以下のissuを調べてみましたがめぼしい情報は見つかりませんでした。
|
176
176
|
|
177
177
|
[Language Support for Java(TM) by Red Hatのissue](https://github.com/redhat-developer/vscode-java/issues?page=3&q=is%3Aissue+is%3Aopen)
|
178
178
|
|
@@ -221,3 +221,47 @@
|
|
221
221
|
|
222
222
|
|
223
223
|
さらに、この質問[VScodeのデバッグ結果の日本語文字化け改善方法について](https://teratail.com/questions/180547)の回答を参考にlaunch.jsonに`"encoding": "shift_jis"`を追加して実行しようとしましたが、javaのデバッグコンソールで`chcp 932と打ってターミナルの文字コードをshift_JISに変更してから実行すると強制的にUTF-8に戻ってしまい上手く実行することができませんでした。
|
224
|
+
|
225
|
+
|
226
|
+
|
227
|
+
### 追記3
|
228
|
+
|
229
|
+
|
230
|
+
|
231
|
+
同じような問題がGitHubに挙がっていました。
|
232
|
+
|
233
|
+
VSCodeに問題があると思っていたのですが、どうやら端末またはプログラムに問題があるみたいです。
|
234
|
+
|
235
|
+
[GitHub Encoding problem? #813](https://github.com/microsoft/vscode-java-debug/issues/813)
|
236
|
+
|
237
|
+
自分的には、pythonでは問題なく実行できているのでJavaに問題がある?と思ってます。
|
238
|
+
|
239
|
+
|
240
|
+
|
241
|
+
試しにWindowsのpowershellで以下の手順で実行したところVSCodeと同じ状況になりました。
|
242
|
+
|
243
|
+
|
244
|
+
|
245
|
+
___
|
246
|
+
|
247
|
+
Windowsのパワーシェルを開いて
|
248
|
+
|
249
|
+
`chcp 65001`としてUTF-8に切り替え。
|
250
|
+
|
251
|
+
ソースファイルのある場所まで行って`javac '-encoding' 'UTF-8' 'src\app\Sample.java'`でコンパイル。
|
252
|
+
|
253
|
+
そのまま`java '-cp' '.\src' '-Dfile.encoding=UTF-8' 'app.Sample'`で実行。
|
254
|
+
|
255
|
+
`こんにちはhello`と入力したところhelloだけ表示。
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
コマンドプロンプトでも同じ結果になりました。
|
260
|
+
|
261
|
+
|
262
|
+
|
263
|
+
___
|
264
|
+
|
265
|
+
また、VSCodeのターミナルの文字コードがUTF-8じゃないと実行に拡張機能の「Debugger for Java」が勝手にUTF-8のターミナルに切り替えてしまうようで、ターミナルの文字コードを変更することも無理そうです。
|
266
|
+
|
267
|
+
[Stuckoverflow VS Code Java System Output Encoding](https://stackoverflow.com/questions/61099108/vs-code-java-system-output-encoding)
|
3
試したことを追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -194,8 +194,30 @@
|
|
194
194
|
|
195
195
|
|
196
196
|
|
197
|
-
### 追記
|
197
|
+
### 追記1
|
198
|
-
|
198
|
+
|
199
|
-
VSCodeのターミナルとコマンドプロンプトどちらも半角スペースになってしまいます。
|
199
|
+
~~VSCodeのターミナルとコマンドプロンプトどちらも半角スペースになってしまいます。~~
|
200
|
+
|
201
|
+
integratedTerminalとexternalTerminalのどちらも半角スペースになってしまいます。
|
200
202
|
|
201
203
|
VSCodeを日本語化してみましたがダメでした。
|
204
|
+
|
205
|
+
|
206
|
+
|
207
|
+
### 追記2
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
Scannerの初期化部分を
|
212
|
+
|
213
|
+
`Scanner sc = new Scanner(System.in, "UTF-8");`
|
214
|
+
|
215
|
+
と変更して実行してみましたが、半角スペースのままでした。
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
また、WindowsのコマンドプロンプトとVSCodeのパワーシェルで`java -classpath [Sampleクラスのある場所] Sample`として実行した場合は上手く実行することができました。
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
さらに、この質問[VScodeのデバッグ結果の日本語文字化け改善方法について](https://teratail.com/questions/180547)の回答を参考にlaunch.jsonに`"encoding": "shift_jis"`を追加して実行しようとしましたが、javaのデバッグコンソールで`chcp 932と打ってターミナルの文字コードをshift_JISに変更してから実行すると強制的にUTF-8に戻ってしまい上手く実行することができませんでした。
|
2
試したことを追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -191,3 +191,11 @@
|
|
191
191
|
JavaSE11
|
192
192
|
|
193
193
|
因みに、C言語はmingw-w64を使っています。
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
### 追記
|
198
|
+
|
199
|
+
VSCodeのターミナルとコマンドプロンプトどちらも半角スペースになってしまいます。
|
200
|
+
|
201
|
+
VSCodeを日本語化してみましたがダメでした。
|
1
微修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -92,7 +92,7 @@
|
|
92
92
|
|
93
93
|
'-Dfile.encoding=UTF-8' '-cp'
|
94
94
|
|
95
|
-
'C:\Users\
|
95
|
+
'C:\Users\ユーザー名\AppData\Roaming\Code\User\workspaceStorage\070b16fc000831f7cdc3a75aa587efd2\redhat.java\jdt_ws\Sample_Java_776601b8\bin'
|
96
96
|
|
97
97
|
'app.Sample'
|
98
98
|
|