Visual Studio CodeでCSVが文字化けする原因と対処法を徹底解説!

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-8Webやプログラム世界中の言語に対応。汎用性が高い
Shift-JIS日本語のWindows環境Excelや古いシステムでよく使われる
EUC-JPUnix系システムLinux系で使われることがある

CSVファイルを扱うときには、**「どの文字コードで保存されているか」**を意識することが大切です。


現在の文字コードを確認する方法(VS Code)

VS Codeでは、画面右下のステータスバーで現在の文字コードを確認できます。

手順

  1. VS CodeでCSVファイルを開く
  2. 画面右下のステータスバーに「UTF-8」や「Shift-JIS」と表示されている箇所を探す
  3. その部分をクリックすると「再エンコード(Reopen with Encoding)」メニューが開く

この「再エンコード」を使うことで、別の文字コードでファイルを再読み込みできます。


文字化けしたCSVを正しく表示する手順

もしCSVがすでに文字化けしている場合でも、正しい文字コードで開き直せば修正できます。

手順

  1. 文字化けしたCSVを開いた状態で、右下の「UTF-8」などの文字コード表示をクリック
  2. メニューから「Reopen with Encoding(エンコードで再度開く)」を選択
  3. 「Shift JIS」を選んで再読み込みする

これで、ほとんどの日本語CSVは正常に表示されます。


ファイルを正しい文字コードで保存する方法

ファイルの表示が直っても、再度保存時に誤った文字コードで上書きすると再び文字化けします。
保存時のエンコードも必ず確認しましょう。

保存時の設定手順

  1. メニューから「ファイル」→「名前を付けて保存」
  2. 下部の「エンコード付きで保存(Save with Encoding)」を選択
  3. 「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に変換して保存

  1. ExcelでCSVを開く
  2. 「名前を付けて保存」→「CSV UTF-8(コンマ区切り)」形式を選択
  3. 保存したファイルをVS Codeで開く

対処法その2:VS Code側でShift-JISとして開く

前述の「Reopen with Encoding」で「Shift-JIS」を指定すればOKです。


文字化けを防ぐVS Codeの設定方法

毎回手動でエンコードを変更するのは面倒なので、既定のエンコード設定を変えておくと便利です。

手順

  1. 「ファイル」→「ユーザー設定」→「設定(Settings)」を開く
  2. 検索バーに「encoding」と入力
  3. 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が読めない!」と慌てることはなくなるでしょう。

タイトルとURLをコピーしました