CSVファイルをVisual Studio Code(VS Code)で開いたときに、文字が「��」や「アイウエーン」のように化けて読めないことはありませんか。
これは文字コードの違いが原因で起こるトラブルです。特に日本語のデータを扱う場合、Shift-JISやUTF-8などの文字コードが一致していないと文字化けが発生します。
この記事では、VS CodeでCSVファイルが文字化けする原因から、正しい文字コードの確認・変更方法、保存時の注意点、そして再発防止のコツまでをわかりやすく解説します。
初心者でも理解できるように、実際の手順を画像なしでも再現できる形で説明しますので、ぜひ最後までご覧ください。
Visual Studio Codeは多言語に対応したエディタですが、ファイルの文字コードを自動判別できない場合があります。
特に日本語Windows環境では、Excelや他のアプリで作成されたCSVが「Shift-JIS(SJIS)」で保存されていることが多く、VS Codeがそれを「UTF-8」と誤認識して開くために文字化けします。
これらはすべて、ファイルの文字コードとVS Codeの表示設定が一致していないことが原因です。
文字コードとは、文字をコンピューターが理解できる「数値」に変換するルールのことです。
たとえば、「A」という文字はUTF-8では41、Shift-JISでは別のコードで表現されます。
| 文字コード | 主な用途 | 特徴 |
|---|---|---|
| UTF-8 | Webやプログラム | 世界中の言語に対応。汎用性が高い |
| Shift-JIS | 日本語のWindows環境 | Excelや古いシステムでよく使われる |
| EUC-JP | Unix系システム | Linux系で使われることがある |
CSVファイルを扱うときには、**「どの文字コードで保存されているか」**を意識することが大切です。
VS Codeでは、画面右下のステータスバーで現在の文字コードを確認できます。
この「再エンコード」を使うことで、別の文字コードでファイルを再読み込みできます。
もしCSVがすでに文字化けしている場合でも、正しい文字コードで開き直せば修正できます。
これで、ほとんどの日本語CSVは正常に表示されます。
ファイルの表示が直っても、再度保存時に誤った文字コードで上書きすると再び文字化けします。
保存時のエンコードも必ず確認しましょう。
このように用途によって最適な文字コードを選ぶのがポイントです。
ExcelはデフォルトでShift-JISを使用しますが、VS CodeはUTF-8を基本としています。
そのため、Excelで作成したCSVをVS Codeで開くとほぼ確実に文字化けします。
前述の「Reopen with Encoding」で「Shift-JIS」を指定すればOKです。
毎回手動でエンコードを変更するのは面倒なので、既定のエンコード設定を変えておくと便利です。
files.encoding の項目を「shiftjis」に変更もしくは設定ファイル settings.json に以下を追記します。
"files.encoding": "shiftjis"
これで新規に開くCSVが自動的にShift-JISとして読み込まれるようになります。
上記を試しても解決しない場合は、次の点をチェックしてください。
特に「BOM付きUTF-8」は、システムによって正しく読み取れない場合があります。
必要に応じて、「UTF-8 without BOM」 で保存するようにしましょう。
VS Code以外でも、文字コードを確認・変換できます。
WindowsならPowerShell、Mac/Linuxならiconvコマンドが便利です。
Get-Content sample.csv -Encoding Default
iconv -f SHIFT_JIS -t UTF-8 sample.csv > sample_utf8.csv
このように、ツールを使えば一括変換も可能です。
settings.json で既定の文字コードを設定Visual Studio CodeでCSVが文字化けする原因は、ファイルの文字コードが一致していないことにあります。
正しいエンコードで再読み込みし、保存時の文字コードにも注意すれば、ほとんどの文字化けは防げます。
特にExcelとの併用時は「UTF-8」と「Shift-JIS」の違いを意識することが大切です。
この記事の手順を実践すれば、もう「CSVが読めない!」と慌てることはなくなるでしょう。