CSVファイルをVisual Studio Code(VS Code)で開いたときに、文字が「��」や「アイウエーン」のように化けて読めないことはありませんか。
これは文字コードの違いが原因で起こるトラブルです。特に日本語のデータを扱う場合、Shift-JISやUTF-8などの文字コードが一致していないと文字化けが発生します。
この記事では、VS CodeでCSVファイルが文字化けする原因から、正しい文字コードの確認・変更方法、保存時の注意点、そして再発防止のコツまでをわかりやすく解説します。
初心者でも理解できるように、実際の手順を画像なしでも再現できる形で説明しますので、ぜひ最後までご覧ください。
Visual Studio CodeでCSVが文字化けする主な原因
Visual Studio Codeは多言語に対応したエディタですが、ファイルの文字コードを自動判別できない場合があります。
特に日本語Windows環境では、Excelや他のアプリで作成されたCSVが「Shift-JIS(SJIS)」で保存されていることが多く、VS Codeがそれを「UTF-8」と誤認識して開くために文字化けします。
よくある文字化けのパターン
- Excelで保存したCSVをVS Codeで開いたら文字化け
- WebからダウンロードしたCSVを開いたら文字化け
- 他人の環境では読めるのに、自分のVS Codeでは読めない
これらはすべて、ファイルの文字コードとVS Codeの表示設定が一致していないことが原因です。
文字コードとは?簡単に理解しておこう
文字コードとは、文字をコンピューターが理解できる「数値」に変換するルールのことです。
たとえば、「A」という文字はUTF-8では41
、Shift-JISでは別のコードで表現されます。
よく使われる文字コードの種類
文字コード | 主な用途 | 特徴 |
---|---|---|
UTF-8 | Webやプログラム | 世界中の言語に対応。汎用性が高い |
Shift-JIS | 日本語のWindows環境 | Excelや古いシステムでよく使われる |
EUC-JP | Unix系システム | Linux系で使われることがある |
CSVファイルを扱うときには、**「どの文字コードで保存されているか」**を意識することが大切です。
現在の文字コードを確認する方法(VS Code)
VS Codeでは、画面右下のステータスバーで現在の文字コードを確認できます。
手順
- VS CodeでCSVファイルを開く
- 画面右下のステータスバーに「UTF-8」や「Shift-JIS」と表示されている箇所を探す
- その部分をクリックすると「再エンコード(Reopen with Encoding)」メニューが開く
この「再エンコード」を使うことで、別の文字コードでファイルを再読み込みできます。

文字化けしたCSVを正しく表示する手順
もしCSVがすでに文字化けしている場合でも、正しい文字コードで開き直せば修正できます。
手順
- 文字化けしたCSVを開いた状態で、右下の「UTF-8」などの文字コード表示をクリック
- メニューから「Reopen with Encoding(エンコードで再度開く)」を選択
- 「Shift JIS」を選んで再読み込みする
これで、ほとんどの日本語CSVは正常に表示されます。


ファイルを正しい文字コードで保存する方法
ファイルの表示が直っても、再度保存時に誤った文字コードで上書きすると再び文字化けします。
保存時のエンコードも必ず確認しましょう。
保存時の設定手順
- メニューから「ファイル」→「名前を付けて保存」
- 下部の「エンコード付きで保存(Save with Encoding)」を選択
- 「UTF-8」または「Shift JIS」を選んで保存
どちらを選ぶべき?
- Webシステムやプログラムで使うCSV → UTF-8
- Excelなどで開く前提のCSV → Shift-JIS
このように用途によって最適な文字コードを選ぶのがポイントです。
Excelとの文字コードの違いに注意
ExcelはデフォルトでShift-JISを使用しますが、VS CodeはUTF-8を基本としています。
そのため、Excelで作成したCSVをVS Codeで開くとほぼ確実に文字化けします。
対処法その1:Excel側でUTF-8に変換して保存
- ExcelでCSVを開く
- 「名前を付けて保存」→「CSV UTF-8(コンマ区切り)」形式を選択
- 保存したファイルをVS Codeで開く
対処法その2:VS Code側でShift-JISとして開く
前述の「Reopen with Encoding」で「Shift-JIS」を指定すればOKです。
文字化けを防ぐVS Codeの設定方法
毎回手動でエンコードを変更するのは面倒なので、既定のエンコード設定を変えておくと便利です。
手順
- 「ファイル」→「ユーザー設定」→「設定(Settings)」を開く
- 検索バーに「encoding」と入力
files.encoding
の項目を「shiftjis」に変更
もしくは設定ファイル settings.json
に以下を追記します。
"files.encoding": "shiftjis"
これで新規に開くCSVが自動的にShift-JISとして読み込まれるようになります。
CSVの文字化けを修正できない場合の確認ポイント
上記を試しても解決しない場合は、次の点をチェックしてください。
- CSVファイルが実際に破損していないか
- Excelで開いた際に別の文字コードで上書きされていないか
- BOM付きUTF-8(UTF-8 with BOM)になっていないか
特に「BOM付きUTF-8」は、システムによって正しく読み取れない場合があります。
必要に応じて、「UTF-8 without BOM」 で保存するようにしましょう。
コマンドラインで文字コードを確認・変換する方法
VS Code以外でも、文字コードを確認・変換できます。
WindowsならPowerShell、Mac/Linuxならiconv
コマンドが便利です。
例:PowerShellで文字コードを確認する
Get-Content sample.csv -Encoding Default
例:iconvでShift-JISをUTF-8に変換
iconv -f SHIFT_JIS -t UTF-8 sample.csv > sample_utf8.csv
このように、ツールを使えば一括変換も可能です。
再発防止のポイントまとめ
- Excelでは「CSV UTF-8」で保存する
- VS Codeでは右下の文字コードを常に確認
settings.json
で既定の文字コードを設定- 保存時は「UTF-8」か「Shift-JIS」を明示的に選択
- 他人とファイルを共有するときは文字コードを合わせる
まとめ
Visual Studio CodeでCSVが文字化けする原因は、ファイルの文字コードが一致していないことにあります。
正しいエンコードで再読み込みし、保存時の文字コードにも注意すれば、ほとんどの文字化けは防げます。
特にExcelとの併用時は「UTF-8」と「Shift-JIS」の違いを意識することが大切です。
この記事の手順を実践すれば、もう「CSVが読めない!」と慌てることはなくなるでしょう。