まず試す:Shift_JISで開き直す4ステップ

  1. 文字化けしたCSVをVS Codeで開いたままにする。文字化けした内容を上書き保存しないでください。
  2. VS Code画面の右下のステータスバーに表示されている「UTF-8」などの文字コード名をクリックします。
  3. 表示されたメニューで「エンコード付きで再度開く」(Reopen with Encoding)を選びます。
  4. 一覧から「Japanese (Shift JIS)」を選びます。表示が「名前,部署,メール」のように読めれば完了です。

注意:「エンコード付きで保存」ではなく「エンコード付きで再度開く」を選んでください。読み込み方を変えるだけなら、ファイルの中身を変更せずに確認できます。

なぜ文字化けが起きる?

CSVはテキストの形式です。ファイルがWindows-31J(Shift_JIS系)で保存されているのに、エディターがUTF-8として読み込むと、元の文字を正しく復号できず「�」などが表示されることがあります。必ずしも元のCSVが壊れているわけではありません。

逆にUTF-8のCSVをShift_JISとして開いても文字化けします。開き直しても読めない場合は、元ファイルの文字コード自体を確認してください。

VS CodeでUTF-8として保存したい場合

  1. 先ほどの手順で日本語が正しく表示される状態にします。
  2. 元ファイルをバックアップしてから、右下の文字コード名を再度クリックします。
  3. 今度は「エンコード付きで保存」(Save with Encoding)を選び、「UTF-8」を指定します。
  4. 保存したファイルを開き直し、文字・行数・列数が正しいか確認します。

CSVの重複削除や列の抽出もまとめて行いたい場合は、CSVレスキューの無料変換ツールも利用できます。元のCSVを読み込み、「読み込み文字コード」にShift_JISを指定して日本語を確認し、「出力文字コード」でUTF-8(BOM付き/なし)を選んで保存してください。

毎回文字化けするときは?

VS Codeには文字コードの推定設定もありますが、推定は必ずしも正確ではありません。特に短いCSVや英数字が中心のファイルでは推定が外れることがあります。作業先のシステムが使う文字コードが分かっている場合は、その形式を明示的に指定するのが確実です。

開き直しても直らない場合の確認

よくある質問

「���O」のように見えるCSVは壊れていますか?

表示だけが乱れている場合があります。上書き保存する前に、Shift_JISで開き直して確認してください。ただし、ファイル自体が破損している可能性もあるため、元ファイルを残しましょう。

Excelで開くときも同じ設定ですか?

設定場所は異なります。Excelでは「データ」→「テキストまたはCSVから」で文字コードを指定できるバージョンがあります。詳しくはCSVの文字化け対策も参考にしてください。

Shift_JISとWindows-31Jは同じですか?

一般的なソフトではShift_JISという表示がWindows-31J(CP932)を指す場合がありますが、文字の対応範囲に違いがあります。受け渡し先の指定がある場合は、その条件を確認してください。変換時の注意点を見る。

参考:Visual Studio Code公式ドキュメント(ファイルの文字コード)。VS Codeのバージョン・言語設定によってメニュー名や位置が異なる場合があります。

無料CSV文字コード変換ツールを使う →