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

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

新規登録して質問してみよう
ただいま回答率
85.53%
UTF-8

UTF-8は8ビット符号単位の文字符号化形式及び文字符号化スキームです。データ交換方式、ファイル形式としては、一般的にUTF-8が使われる傾向があります。

デバッグ

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

9855閲覧

VS code でターミナルへのデバッグ出力時の文字化けを直したい

ykhsgw

総合スコア4

UTF-8

UTF-8は8ビット符号単位の文字符号化形式及び文字符号化スキームです。データ交換方式、ファイル形式としては、一般的にUTF-8が使われる傾向があります。

デバッグ

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2019/11/24 05:09

編集2019/11/25 13:13

前提・実現したいこと

Visual Studio Code上でpythonのプログラムを組んでいますが
最近、PCを新しくした関係で開発環境を一新したところ
デバッグ時にターミナル上に表示される日本語が文字化けするようになりました。
プログラミングする上での影響はあまりないですが
以下のことが気になるため原因や対策に心当たりがある方、どうかご教示のほどよろしくお願いいたします。

  • 一新前の環境、ノートPCでは問題は発生していない
  • 「ターミナルでpythonファイルを実行」では文字化けしない

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

python

1print("はじめまして") 2print("Hello")

デバッグで実行(F5)を行った結果

PS D:\Program> & 'C:\Users***\AppData\Local\Programs\Python\Python37\python.exe' 'c:\Users***.vscode\extensions\ms-python.python-2019.11.50794\pythonFiles\lib\python\new_ptvsd\wheels\ptvsd\launcher' 'd:\Program\sample.py' 縺ッ縺倥a縺セ縺励※ Hello

試したこと

「ターミナルでpythonファイルを実行」では文字化けしない

PS D:\Program> & "C:/Users/***/AppData/Local/Programs/Python/Python37/python.exe" d:/Program/sample.py はじめまして Hello

ターミナルのエンコードをUTF-8に変更すると文字化けは直る
※ただし、「ターミナルでpythonファイルを実行」時はUTF-8に変更しなくても文字化けしていない

Active code page: 65001 PS D:\Program> chcp Active code page: 65001 PS D:\Program> ${env:PTVSD_SESSION_ID}='1'; ${env:PTVSD_LAUNCHER_PORT}='55478'; & 'C:\Users***\AppData\Local\Programs\Python\Python37\python.exe' 'c:\Users***.vscode\extensions\ms-python.python-2019.11.50794\pythonFiles\lib\python\new_ptvsd\wheels\ptvsd\launcher' 'd:\Program\sample.py' はじめまして Hello

手持ちのノートPCで実行(デバッグで実行)したところ文字化けはしない。

PS C:\Users***\Desktop> & 'C:\Users***\AppData\Local\Programs\Python\Python37\python.exe' 'c:\Users***.vscode\extensions\ms-python.python-2019.11.50794\pythonFiles\ptvsd_launcher.py' '--default' '--client' '--host' 'localhost' '--port' '50532' 'c:\Users***\Desktop\sample.py' おはよう Hello

気になる箇所

新PCとノートPCではデバッグ実行時のコマンドが違う.
ノートPCではUTF-8の設定などを行っているが新PCでは行っていない。
この違いがなぜ起こっているのかは不明。

新PC

PS D:\ProgramTools> & 'C:\Users***\AppData\Local\Programs\Python\Python37\python.exe' 'c:\Users***.vscode\extensions\ms-python.python-2019.11.50794\pythonFiles\lib\python\new_ptvsd\wheels\ptvsd\launcher' 'd:\ProgramTools\sample.py' 縺ッ縺倥a縺セ縺励※ Hello PS D:\ProgramTools> ${env:PTVSD_SESSION_ID}='1'; ${env:PTVSD_LAUNCHER_PORT}='55584'; & 'C:\Users***\AppData\Local\Programs\Python\Python37\python.exe' 'c:\Users***.vscode\extensions\ms-python.python-2019.11.50794\pythonFiles\lib\python\new_ptvsd\wheels\ptvsd\launcher' 'd:\ProgramTools\sample.py' 縺ッ縺倥a縺セ縺励※ Hello

ノートPC

PS C:\Users***\Desktop> & 'C:\Users***\AppData\Local\Programs\Python\Python37\python.exe' 'c:\Users***.vscode\extensions\ms-python.python-2019.11.50794\pythonFiles\ptvsd_launcher.py' '--default' '--client' '-:\U-host' 'localhost' '--port' '50532' 'c:\Users***\Desktop\sample.py' おはよう Hello PS C:\Users***\Desktop> cd 'c:\Users***\Desktop\'; ${env:PYTHONIOENCODING}='UTF-8'; ${env:PYTHONUNBUFFERED}='1'; & 'C:\Users***\AppData\Local\Programs\Python\Python37\python.exe' 'c:\Users***.vscode\extensions\ms-python.python-2019.11.50794\pythonFiles\ptvsd_launcher.py' '--default' '--client' '--host' 'localhost' '--port' '50705' 'c:\Users***\Desktop\sample.py' おはよう Hello

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

旧PC→新PC : CPU(intel->AMD)変更含めて、全て一新。

新PCノートPC
OSwindows10 home
VS code1.40.1
Python3.7.5 64-bit

settings.json(旧PC、新PC、ノートPC共通)

{ "python.linting.enabled": true, "python.linting.pylintEnabled": false, "python.linting.flake8Enabled": true, "python.linting.flake8Args": [ "--max-line-length = 150" ], "python.linting.mypyEnabled": true, "python.linting.lintOnSave": true, "python.formatting.provider": "black", "python.autoComplete.addBrackets": true, "autoDocstring.docstringFormat": "google", "editor.formatOnSave": true, "git.autofetch": true, "[python]": { "editor.tabSize": 4, }, "[markdown]": { "editor.wordWrap": "on", "editor.quickSuggestions": false, "editor.insertSpaces": true, "editor.tabSize": 2 }, "editor.fontFamily": "Yutapon coding", "workbench.iconTheme": "vscode-icons", "editor.suggestSelection": "first", "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue", "python.jediEnabled": false, }

launch.json(旧PC、新PC、ノートPC共通)

{ // IntelliSense を使用して利用可能な属性を学べます。 // 既存の属性の説明をホバーして表示します。 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal" } ] }

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

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

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

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

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

guest

回答3

0

自己解決

launch.jsonに"env"にshift-jisを追加することで文字化けを回避することがわかりました。
根本的な解決にはなっていないですが以下のやり方が一番簡単だと思います。

json

1{ 2 // IntelliSense を使用して利用可能な属性を学べます。 3 // 既存の属性の説明をホバーして表示します。 4 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387 5 "version": "0.2.0", 6 "configurations": [ 7 { 8 "name": "Python: Current File", 9 "type": "python", 10 "request": "launch", 11 "program": "${file}", 12 "console": "integratedTerminal", 13 "env": { 14 "PYTHONIOENCODING": "shift-jis", 15 } 16 } 17 ] 18}

投稿2019/12/14 05:01

ykhsgw

総合スコア4

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

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

0

https://howpon.com/247
この辺とか

投稿2019/12/05 11:42

taka2san

総合スコア8

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

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

0

新PCでのVSCodeの設定はどのようにしましたか?
新規インストールで、Python, C/C++ の設定のみということでしたら、
旧PCの設定ファイルを確認しましょう。

VSCodeの [ファイル] [基本設定] - [設定] で入れます。
詳細については、右上にあるアイコンに [設定(json)で開く]があります。
通常は、以下の場所かと。
ユーザー\AppData\Roming\Code\User\setting.json

または、プロジェクトフォルダの .vscode\launch.json

この辺が違わないか、見てみましょう。

どうもVSCodeは、バージョンアップで初期値を変えてるみたいで、文字コードについても変えてるようです。 以前の環境では、古い初期値で動いているとかありそうです。

少し前にこんな話を見た記憶があります。
参考として。

投稿2019/11/24 09:15

pepperleaf

総合スコア6383

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

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

ykhsgw

2019/11/25 13:21

ご回答ありがとうございます。 settings.jsonとlaunch.jsonの情報を追記しましたのでよろしければ確認していただけないでしょうか。 settings.jsonはPCが変わっても上記設定値を共通して使っています。 launch.jsonは毎回作成はしますが手を加えて使用したことがありません。 私としては「気になる箇所」に記載した実行時のコマンドの違いが怪しいと思うのですが このコマンドの違いについて何か心当たりはございませんでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.53%

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

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

質問する

同じタグがついた質問を見る

UTF-8

UTF-8は8ビット符号単位の文字符号化形式及び文字符号化スキームです。データ交換方式、ファイル形式としては、一般的にUTF-8が使われる傾向があります。

デバッグ

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。