VSCode(Visual Studio Code)でプログラムを実行したら、日本語が「?????」や「□□□」みたいな変な文字になって困っていませんか?
実は、この問題で悩んでいる人はとても多いんです。でも安心してください。原因さえ分かれば、簡単に解決できます。
文字化けは主に「文字コード」という、コンピュータが文字を理解する仕組みの違いから起きています。日本語を正しく表示するには、この文字コードを適切に設定する必要があるんですね。
今回は、VSCodeで起きる文字化けを確実に解決する方法を、優先順位の高い順にご紹介します。
1. ターミナルの文字化けを直す方法(最も多いケース)

Windows PowerShellでの解決法
VSCodeのターミナルで日本語が化ける場合、まずはこの方法を試してみましょう。
設定方法:
- VSCodeを開く
Ctrl + ,
(コントロールキーとカンマ)で設定画面を開く- 検索ボックスに「encoding」と入力
- 「Terminal › Integrated › Default Profile: Windows」を確認
その後、ターミナルで以下のコマンドを実行します:
chcp 65001
これは、文字コードをUTF-8に変更するコマンドです。UTF-8は世界中の文字を扱える万能な文字コードなんですよ。
永続的な設定にする方法
毎回コマンドを打つのは面倒ですよね。そこで、VSCodeの設定ファイルに以下を追加しましょう:
Ctrl + Shift + P
でコマンドパレットを開く- 「settings.json」と入力して選択
- 以下の設定を追加:
{
"terminal.integrated.defaultProfile.windows": "PowerShell",
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"args": ["-NoExit", "chcp 65001"]
}
}
}
2. Pythonプログラムの文字化け対策
print文で日本語が化ける場合
Pythonで日本語を出力すると文字化けする場合は、ファイルの先頭に以下を追加してください:
# -*- coding: utf-8 -*-
さらに、ファイルを開く際は必ずエンコーディングを指定します:
# ファイルを読む時
with open('sample.txt', 'r', encoding='utf-8') as f:
content = f.read()
print(content)
# ファイルに書く時
with open('output.txt', 'w', encoding='utf-8') as f:
f.write('こんにちは、世界!')
エンコーディングとは、文字をコンピュータが理解できる数字に変換する方法のことです。utf-8
を指定することで、日本語を正しく扱えるようになります。
3. デバッグコンソールでの文字化け解決
launch.jsonの設定
デバッグ実行時に文字化けする場合は、.vscode/launch.json
ファイルを編集します:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"env": {
"PYTHONIOENCODING": "utf-8"
}
}
]
}
"console": "integratedTerminal"
の部分が重要です。これにより、統合ターミナルで実行され、文字化けが防げるんです。
4. ファイル自体のエンコーディング問題
VSCodeでファイルのエンコーディングを確認・変更
画面右下のステータスバーに「UTF-8」などの文字コードが表示されています。これをクリックすると:
- 「エンコーディングを指定して再度開く」を選択
- 「UTF-8」を選択
- ファイルを保存(
Ctrl + S
)
もし「Shift_JIS」や「EUC-JP」になっていたら、UTF-8に変更することで解決する場合が多いです。
自動検出の設定
VSCodeに文字コードを自動で判別してもらう設定:
{
"files.autoGuessEncoding": true
}
5. C言語・C++での文字化け対策
コンパイル時の対処法
C言語やC++で日本語が化ける場合、コンパイル時にオプションを追加します:
# GCCの場合
gcc -fexec-charset=CP932 program.c -o program
# 実行時の文字コード設定
プログラム内でも設定が必要な場合があります:
#include <locale.h>
int main() {
setlocale(LC_ALL, "Japanese");
printf("こんにちは\n");
return 0;
}
6. 拡張機能による解決方法
Japanese Language Pack
VSCodeを日本語化している場合、この拡張機能が原因のこともあります。
- 拡張機能タブを開く(
Ctrl + Shift + X
) - 「Japanese Language Pack」を検索
- 一度無効化してから再度有効化
- VSCodeを再起動
Code Runner使用時の対策
Code Runner拡張機能を使っている場合の設定:
{
"code-runner.runInTerminal": true,
"code-runner.executorMap": {
"python": "python -u"
}
}
よくある質問と追加の対処法

Q: 設定を変えても直らない場合は?
A: VSCodeを完全に再起動してみましょう。設定の反映には再起動が必要な場合があります。
手順:
- すべてのVSCodeウィンドウを閉じる
- タスクマネージャーでVSCode関連プロセスを確認
- 再度VSCodeを起動
Q: Macでも同じ方法で直る?
A: Macの場合、ターミナルの設定が少し異なります:
{
"terminal.integrated.defaultProfile.osx": "zsh",
"terminal.integrated.env.osx": {
"LANG": "ja_JP.UTF-8"
}
}
Q: Git Bashを使っている場合は?
A: Git Bashの場合、以下の設定を.bashrc
に追加:
export LANG=ja_JP.UTF-8
トラブルシューティングチェックリスト
文字化けが直らない時は、以下を順番に確認してください:
□ VSCodeを最新版にアップデート
- ヘルプメニューから更新を確認
□ 使用している言語の実行環境を確認
- Python: バージョン3.x以上を推奨
- Node.js: 最新のLTS版を推奨
□ Windowsの地域設定を確認
- 設定 → 時刻と言語 → 地域
- 「Unicode UTF-8を使用」にチェック
□ 環境変数の確認
LANG
やLC_ALL
が適切に設定されているか
□ ファイルのBOM(バイトオーダーマーク)を確認
- UTF-8 with BOMの場合、BOMなしに変更
まとめ:文字化けは必ず解決できる!
VSCodeの文字化けは、ほとんどの場合「文字コードの設定」で解決します。
最初に試すべき3つの方法:
- ターミナルで
chcp 65001
を実行(Windows) - settings.jsonに文字コード設定を追加
- ファイルのエンコーディングをUTF-8に統一
これらを順番に試せば、ほぼ確実に文字化けは解消されるはずです。
もし解決しない場合は、使用している言語や拡張機能特有の問題かもしれません。その場合は、この記事の該当セクションを参考にしてみてください。
プログラミング学習において、文字化けは誰もが通る道です。一度解決方法を覚えてしまえば、今後同じ問題に悩むことはなくなりますよ。
快適なコーディングライフを送れることを願っています!
コメント