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

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

新規登録して質問してみよう
ただいま回答率
85.45%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

Java

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

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

デバッグ

デバッグはプログラムのバグや欠陥を検知し、開発中のバグを取り除く為のプロセスを指します。

Q&A

解決済

1回答

5560閲覧

VScodeのデバッグ結果の日本語文字化け改善方法について

ruuru

総合スコア12

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

Java

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

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

デバッグ

デバッグはプログラムのバグや欠陥を検知し、開発中のバグを取り除く為のプロセスを指します。

0グッド

4クリップ

投稿2019/03/21 07:37

前提・実現したいこと

某書にて、プログラミングを勉強中であり、某書の通りのプログラムなのですが
VScodeにて、External Terminalを使用してデバッグを行ったところ
結果の日本語のみが文字化けします。
改善方法を調べてみたのですが、いまいちよく分かりませんでした。
プログラミングの知識は0に等しいですが
丸一日かけて調べても全く改善できない問題に当たってしまい
ここで質問させて頂きました。
初歩的な内容ですみませんが、よろしくお願いいたします。

■■な機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

あなたの名前を入力してください。 田中 あなたの年齢を入力してください。 20 ようこそ、20歳の?c??さん 続行するには何かキーを押してください . . .

該当のソースコード

Java

1public class Main { 2 public static void main(String[] args) { 3 System.out.println("あなたの名前を入力してください。"); 4 String name = new java.util.Scanner(System.in) .nextLine(); 5 System.out.println("あなたの年齢を入力してください。"); 6 int age = new java.util.Scanner(System.in) .nextInt(); 7 System.out.println("ようこそ、" + age + "歳の" + name + "さん"); 8 } 9}

試したこと

・コマンドプロンプトの文字列をUFT-8に変更 → そもそもプログラムが始まらない
・コマンドプロンプトから java Main にて実行 → 正常に表示
・Current fileにてデバッグを開始

あなたの名前を入力してください。
↓//田中と入力
田中
Evaluation failed because the thread is not suspended.

となります。

補足情報(FW/ツールのバージョンなど)

VScode version 1.32.3
Java version 11.0.2
windows 7

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

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

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

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

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

guest

回答1

0

ベストアンサー

実行環境を入れてないんで試してませんが、

javac -encoding UTF-8 sample.javaみたいな感じでコンパイル時にソースコードの文字コードを指定してあげると動きませんか?
コマンドプロンプトはchcp 932のままで


Javaは全然詳しくないので文法とかわからないのですが…、
Language Support for Java(TM) by Red HatDebugger for Javaを導入
そしてJavaの実行環境にはOpenJDK12を使用しました。

デバッグ

launch.jsonは以下のような感じでうまくいきました。
encodingはcp932でもsjisでもshift-jisでも良いっぽいです。

jsonc

1{ 2 "configurations": [ 3 { 4 "type": "java", 5 "name": "CodeLens (Launch) - Main", 6 "request": "launch", 7 "mainClass": "Main", 8 "projectName": "test_2299bddf", 9 "console": "externalTerminal", // 自動生成されたものに 10 "encoding": "shift_jis" // この2行を追加 11 } 12 ] 13}

ちなみにコンパイルにCode Runnderを使用するより
public class Main {の下にRun | Debugが出てそこから実行できるので、
ワークスペース作ってJavaの拡張機能にお任せした方が楽です。

投稿2019/03/21 08:11

編集2019/03/21 09:38
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

ruuru

2019/03/21 08:37

毎回コマンドプロンプトからコンパイルするのが手間なので、VScodeの拡張機能 "code runner" からコンパイルを行っており、ソースコードの文字コードは、出力共にUTF-8で統一しています。 専門用語も覚えたてなので、間違って解釈し、的外れでしたらすみません。
ruuru

2019/03/21 10:01

"encoding": "shift_jis" を入れた所、うまく表示されました! 一度shiftjisで作成し、コマンドプロンプトでデバッグしたものが文字化けしていた時に調べた所 文字コードは統一した方がいいと調べて見ていたので、他のコードに変更する事をしていませんでした。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.45%

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

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

質問する

関連した質問