質問編集履歴

6

タイトルの変更

2020/06/05 16:04

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- Javaの標準入力で日本語が半角スペースになってしまう
1
+ Javaの標準入力で日本語が半角スペースになってしまう
test CHANGED
File without changes

5

タグにpowershell、utf-8を追加

2020/06/05 16:04

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
File without changes

4

全角文字じゃなくて日本語、試したことを追加

2020/05/28 11:27

投稿

退会済みユーザー
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
- 言語によって全角文字が正しく入力できたりできなかったりしたので拡張機能に問題があるのではないかと考えて以下のissuを調べてみましたがめぼしい情報は見つかりませんでした。
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

試したことを追加

2020/05/28 11:16

投稿

退会済みユーザー
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

試したことを追記

2020/05/27 13:13

投稿

退会済みユーザー
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

微修正

2020/05/24 08:53

投稿

退会済みユーザー
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\yunos\AppData\Roaming\Code\User\workspaceStorage\070b16fc000831f7cdc3a75aa587efd2\redhat.java\jdt_ws\Sample_Java_776601b8\bin'
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