※2026年9月に書き直しました。
VS Code でファイルを開いたら、日本語が「縺薙l縺ッ」や「�」のような、読めない文字になっていた。
VS Code の文字化けは、ほとんどがファイルの文字コードと、VS Code が開くときの文字コードが違うことで起きます。日本語の場合、相手はたいてい Shift_JIS です。
この記事では、まず原因を確かめる方法、次に直し方を、よく出会う順に書きます。
まず、右下の表示を見る
VS Code の画面の右下、行と列の番号の横に「UTF-8」などの文字が出ています。これが、VS Code がそのファイルをどの文字コードとして開いているかです。
![]()
| 見え方 | よくある原因 |
|---|---|
| 「縺薙l縺ッ」のような漢字と半角カナの混ざったもの | UTF-8 のファイルを、Shift_JIS として開いている |
| 「�」や「?」がたくさん並ぶ | Shift_JIS のファイルを、UTF-8 として開いている |
| 「□」(豆腐)が並ぶ | 文字コードではなく、フォントに日本語が入っていない |
古い Windows のソフトで作ったファイルや、Excel で保存した CSV は、Shift_JIS のことが多いです。VS Code は、何も設定しないと UTF-8 として開くので、ここでずれます。
直し方1:Shift_JIS で開き直す(読むだけならこれ)
- 右下の「UTF-8」の表示をクリックする
- 「エンコード付きで再度開く」(英語の表示では Reopen with Encoding)を選ぶ
- 一覧から「Japanese (Shift JIS)」を選ぶ

これで読めるようになれば、原因は文字コードです。ファイルの中身は変わっていないので、ほかのソフトで開いたときの見え方も変わりません。
Shift_JIS でも直らないときは、「Japanese (EUC-JP)」も試してください。古い Linux のサーバーにあったファイルは、こちらのことがあります。
直し方2:UTF-8 で保存し直す(これからも VS Code で使うなら)
これからそのファイルを VS Code で編集していくなら、UTF-8 に変えて保存し直すと、毎回開き直さずに済みます。
- 直し方1で、正しく読める状態にする
- 右下のエンコードの表示をもう一度クリックする
- 「エンコード付きで保存」(Save with Encoding)を選ぶ
- 「UTF-8」を選ぶ
たとえば、Excel でそのまま開く CSV や、古い業務用のソフトに読み込ませるファイルです。そういうファイルは、保存し直す前にコピーを取っておくか、直し方1だけにしてください。
直し方3:文字コードを自動で見分けさせる
Shift_JIS のファイルをよく開くなら、VS Code に文字コードを自動で見分けさせる設定があります。
- 設定を開く(Windows は
Ctrl+,、Mac はcommand+,) - 検索欄に「auto guess encoding」と入れる
- 「Files: Auto Guess Encoding」にチェックを入れる
settings.json に直接書くなら、次の1行です。
"files.autoGuessEncoding": true 見分ける対象の文字コードを絞りたいときは、「Files: Candidate Guess Encodings」で候補を決められます。日本語なら、Shift_JIS と EUC-JP を入れておくと、見分け違いが減ります。
ただ、自動で見分けるのは推測なので、短いファイルでは外れることがあります。外れたときは、直し方1で開き直してください。
特定の種類のファイルだけ Shift_JIS で開く
「CSV だけはいつも Shift_JIS」のように決まっているなら、ファイルの種類ごとに文字コードを決めておく方法もあります。settings.json に次のように書きます。
"[csv]": {
"files.encoding": "shiftjis"
} CSV の種類は、CSV 用の拡張機能を入れていると認識されます。入れていないと、ただのテキストとして扱われて、この設定が効かないことがあります。
ターミナルの文字化け(Windows)
ファイルではなく、VS Code の下のターミナルに出る日本語が化ける場合は、原因が別です。Windows の古い PowerShell(5.1)やコマンドプロンプトは、Shift_JIS で文字を出すためです。
そのターミナルの中だけ、一時的に UTF-8 に切り替えるなら、次を打ちます。
chcp 65001 毎回打つのが面倒なら、新しい PowerShell(7 以降)を入れて、VS Code のターミナルをそちらに切り替えるのが手軽です。PowerShell の開き方や基本は、別の記事にまとめています。
WindowsのPowerShell入門【2026年8月版】開き方から基本のコマンドまで
□(豆腐)が並ぶとき:フォント
文字がすべて □ になるのは、文字コードではなく、使っているフォントに日本語が入っていないためです。
設定の「Editor: Font Family」で、先頭に英語のフォント、そのあとに日本語のフォントを並べると直ります。
"editor.fontFamily": "Consolas, 'BIZ UDGothic', monospace" Mac なら、日本語のフォントは最初から入っているので、この問題はほとんど起きません。
それでも直らないとき
ファイルを開くときに中身を書き換える拡張機能が、文字化けを起こしていることもあります。
コマンドパレット(Ctrl + Shift + P、Mac は command + shift + P)から「Start Extension Bisect」(拡張機能の二分探索を開始)を選ぶと、原因の拡張機能を探せます。
まとめ
- まず右下の表示で、VS Code がどの文字コードとして開いているかを見る
- 読むだけなら「エンコード付きで再度開く」→「Japanese (Shift JIS)」
- これからも VS Code で使うなら「エンコード付きで保存」→「UTF-8」。ほかのソフトで使うファイルは先にコピーを取る
- よく開くなら「Files: Auto Guess Encoding」をオンにする
- ターミナルの文字化けは、PowerShell の文字コードの問題
- □ が並ぶのは、フォントの問題
初出は2024年1月、2026年9月に書き直しました。メニューや設定の名前は、VS Code のバージョンや表示の言語によって少し違うことがあります。


