CSVをExcelで開くと文字化けする原因と直し方
ダウンロードしたCSVをExcelで開いたら、日本語が「縺薙s縺ォ縺。縺ッ」のような記号の羅列になってしまった。よくあるこのトラブルの原因と直し方をまとめます。
原因:文字コードの食い違い
CSVはただのテキストファイルで、文字を保存する方式(文字コード)がファイルごとに違います。日本でよく使われるのは次の2つです。
- UTF-8:Webサービスや海外のツールが出力するCSVの多く
- Shift_JIS:古い業務システムや、日本語版Excelが昔から使ってきた方式
日本語版のExcelでCSVをダブルクリックすると、ファイルの先頭に「BOM」という目印がないUTF-8のファイルを、Shift_JISとして読んでしまうことがあります。これが文字化けの正体です。ファイルが壊れているわけではありません。
方法1:Excelの「テキストまたはCSVから」で開く
- Excelで空のブックを開く
- データ タブ → テキストまたはCSVから を選び、CSVファイルを指定
- 取り込み画面の 元のファイル で文字コードを選ぶ。UTF-8なら 65001(Unicode UTF-8)、Shift_JIS系なら 932(日本語 Shift-JIS)
- プレビューで文字が正しく表示されたことを確認してから 読み込み
Windows版Excelを想定しています。Microsoft 365・Excel 2016以降でも、バージョンや更新状況によってメニューの表示が異なる場合があります。
方法2:ファイルを「BOM付きUTF-8」で保存し直す
Windowsのメモ帳などのテキストエディターでCSVを開き、元の日本語が正しく表示されていることを確認してから、名前を付けて保存 で文字コードを UTF-8 (BOM 付き) にしてコピーを保存します。以後はダブルクリックでも文字化けしにくくなります。文字化けした表示のまま保存し直さないでください。元のファイルは残しておきましょう。
方法3:Excelから保存するときは「CSV UTF-8」を選ぶ
ExcelからUTF-8形式で保存するときは、ファイル → 名前を付けて保存 で CSV UTF-8 (コンマ区切り) を選びます。ダブルクリックでの表示を安定させるためにBOM付きが必要な場合は、保存されたファイルが実際にBOM付きか確認してください(BOMはファイル先頭の3バイト EF BB BF です)。
取り込み先がShift_JIS系を指定している場合は、その仕様に合った文字コードで保存する必要があります。通常の CSV (コンマ区切り) で保存される文字コードは環境によって異なるため、形式名だけで判断しないでください。
やってはいけないこと
文字化けした状態のまま上書き保存すると、元の文字に戻せなくなることがあります。おかしいと思ったら、保存せずに閉じてから上の方法で開き直してください。
この方法で解決しない場合:たとえば「店舗ごとに文字コードが違うCSVが20本あり、1つにまとめたい」「取り込み先のシステムがShift_JIS指定」といった作業は、ココナラ(有料・見積り相談制)で受け付けています。処理前後の件数レポートつきです。1ファイルを変換するだけなら、無料ツールの「重複を削除しない」で変換できます。