質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

2回答

4363閲覧

VisualStudioCodeでErrorMessageが文字化けする

yamatera

総合スコア13

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2020/08/07 22:14

編集2020/08/08 02:03

VisualStudioCodeで
JavaのSourceを実行すると
出力のErrorMessageが文字化けする。

Windows10 Pro 1903

VSCode 1.47.3

実行したSource
public class JavaTest00
{public static void main(String[] args)
xxxx.out.println("Hello, world!");}
}

ErrorMessage
イメージ説明

参考
以前「VScode出力文字化け」という題で
同様の質問をいたしました。
この時は、JavaのClassとFileNameの
不一致があり
それを修正することにより
ErrorMessageそのものが回避され
文字化けもなくなったようにみえました。

画面表示

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Daregada

2020/08/07 22:43

「実行すると」とは、具体的にどのような操作をして、どこに結果が表示されているのかを説明してください。
yamatera

2020/08/07 22:59

VisualStudioCodeのEditor画面において 「実行」指示しております。 結果は、同一画面下部の「出力」Windowに表示されます。
退会済みユーザー

退会済みユーザー

2020/08/08 00:15

「実行指示」といってもF5キーを押す、javaコマンドを直接入力する、など様々な指示の仕方があります。具体的にどのような指示をしているのでしょうか。
Daregada

2020/08/08 00:35

出力ウィンドウも、どのタブ(「出力」「コンソール」「問題」……)に出ているのか、たとえば「コンソール」でも、右のリストの「cmd」「Java Debug Console」などがどれになっているのか、などの情報が必要です。
yamatera

2020/08/08 00:44

「実行指示」具体的にどのような指示をしているのでしょうか。 ===>Editor画面の右上の三角ボタンをクリックしました。 出力ウィンドウも、どのタブ? ===>「出力」タブです。
cateye

2020/08/08 00:51

ステータスバー(ウインドウの一番下)の表示は、どうなっていますか?
yamatera

2020/08/08 01:01

ウインドウの一番下の行(ステータスバー?)は 実行前後で、何ら変化はありません。 とくにErrorを示唆するものは 出力ウィンドウ(「出力」タブ)内の表示だけです。 なお、「出力」タブ内の最終行は ==>[Done] exited with code=1 in 0.79 seconds が、表示されております。
退会済みユーザー

退会済みユーザー

2020/08/08 01:04

launch.jsonの中身はどうなってますか?
退会済みユーザー

退会済みユーザー

2020/08/08 01:06

あとステータスバーの画像を提示していただくことは可能でしょうか?
yamatera

2020/08/08 02:03

●launch.jsonの中身はどうなってますか? 同一WorkSpace内の.vscodeに launch.jsonと言うfileがありました。 内容は以下です。 { // IntelliSense を使用して利用可能な属性を学べます。 // 既存の属性の説明をホバーして表示します。 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { { "name": "Python", "type": "python", "request": "launch", "stopOnEntry": true, "program": "${file}" } ] } ●あとステータスバーの画像を提示していただくことは可能でしょうか? 画像はFileとして保持できますが ここに添付できないようです。 Teratailの質問画面には、添付のアイコンがあり 画像も添付できるようですが・・・・ そちらなら・・・・
guest

回答2

0

ベストアンサー

Java Extension Pack で実行していると思っていたのですが、Code Runnerで実行していたんですね。
Code Runnerを使ったことが無かったので、インストールして右上の三角ボタンで実行してみたところ同じようにエラーメッセージが文字化けしました。
少し調べてみたところ、出力結果をターミナルに出すようにすれば文字化けしなくなるようです。
Code Runnerで文字化け #VS Code 02

Ctrl + ,で設定画面を開く -> code-runner run in terminalで検索 -> Run In Terminalにチェックを付ける
で出力結果がターミナルに出るようになります。

ただ、Code Runnerはデバッグができないなど色々と不便そうです。
javaのコードを実行する際はCode RunnerではなくJava Extension Packを使った方がいいと思います。


追記

自動生成されるコマンドを変更すれば出力タブでも文字化けしないで表示できそうです。

以下設定方法
設定画面を開く -> code-runner executor mapで検索 -> Edit in settings.jsonをクリックしてsettings.jsonを開く-> "code-runner.executorMap""java"の部分を以下のように変更する(2通り)

  • 出力タブ、ターミナル(コマンドプロンプト)で実行可能

JSON

1"java": "cd $dir && javac -J-Dfile.encoding=UTF-8 $fileName && java -Dfile.encoding=UTF-8 $fileNameWithoutExt"
  • 出力タブ、ターミナル(コマンドプロンプト、PowerShell)で実行可能

ただし、毎回コードページが表示されるため少し見ずらい

JSON

1"java": "chcp 65001 && cd $dir && javac \"-J-Dfile.encoding=UTF-8\" $fileName && java \"-Dfile.encoding=UTF-8\" $fileNameWithoutExt"

投稿2020/08/08 02:51

編集2020/08/08 09:20
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yamatera

2020/08/08 03:22

●Run In Terminalにチェックを付ける 「ターミナル」タブに ErrorMessageが、文字化けせずに 正常に表示されました。 同じくErrorMessageが 文字化けしていたJavaScriptでも ErrorMessageの文字化けが 解消いたしました。 ただし、不思議なのは Pythonでは、 Run In Terminalにチェックを付ける以前から 「出力」タブでの文字化けは 発生しておりませんでした。 Run In Terminalにチェックを付けると 「ターミナル」タブに正しく表示されます。
退会済みユーザー

退会済みユーザー

2020/08/08 05:12

ちゃんと調べてないので憶測ですが Javaの場合は、出力タブ?のコードページがutf-8で、エラーメッセージがShift_JISなので日本語が文字化け。 そのため、出力結果をターミナル(コードページがShift_JIS)に変更することで文字化けが解消。 一方でPythonは、エラーメッセージが全て半角の英数字であり、英数字の文字コードはuft-8でもShift_JISでも同じなので文字化けしなかった と考えられます。 Javascriptについてはよくわかりませんが、Javaと同じ感じで文字化けが解消されたと思われます。
yamatera

2020/08/08 22:25

●自動生成されるコマンドを変更すれば出力タブでも  文字化けしないで表示できそうです。 回答欄の追記部分、作動確認いたしました。 出力タブでのErrorMessage文字化けが解消されました。 今後、自分の作成するCodeだけでなく System側(VSCode側)が出力してくる 文字Codeに対しても 注意をしたいとおもいます。 単に文字化けを回避するだけでなく 根本の修正まで追及していただけた事 感謝いたします。 とくにsetting.jsonでの修正に関しては 大変勉強になりました。
guest

0

右下にあるVScodeの文字コードをshift-jisに変えたりしてはいかがでしょうか。

投稿2020/08/08 02:34

natadekoko

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yamatera

2020/08/08 02:45

●右下にあるVScodeの文字コードをshift-jisに変えたりしてはいかがでしょうか。 UTF-8 から shift-jis に変更すると ErrorのないSourceで、出力の日本語分部が 文字化けします。 ErrorのあるSourceでも、ErrorMessageの 文字化けに変化はありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問