CSVをExcelで開くと文字化けする原因と直し方
原因の多くは、CSVの文字コードと、開くソフトが想定している文字コードの食い違いです。 UTF-8 で保存されたCSVを、Excel のダブルクリックで開くと、文字化けすることがよくあります。 Excel の「テキストまたはCSVから」で開くか、メモ帳で「UTF-8(BOM付き)」に保存し直すと、直ることが多いです。
どんな化け方かで、原因の見当がつく
- 「縺」「繧」のような見慣れない漢字・記号が並ぶ:UTF-8 のCSVを、Shift_JIS として読んでいることが多いです
- 「�」(黒い菱形の疑問符)が並ぶ:Shift_JIS のCSVを、UTF-8 として読んでいることが多いです
日本語版の Excel は、Shift_JIS のCSVはそのまま開けます。一方、BOM(先頭の目印)のない UTF-8 のCSVは、化けやすくなります。
直し方1:Excel の「テキストまたはCSVから」で開く
- Excel を起動して、空のブックを開く(CSVをダブルクリックで開かない)
- 「データ」タブ →「テキストまたはCSVから」を選び、CSVファイルを選ぶ
- 表示された画面の「ファイルの元の文字コード」(表記は Excel のバージョンで少し違います)を、
65001: Unicode (UTF-8)に変える - プレビューで日本語が正しく見えたら「読み込み」を押す
うまくいかないときは、「932: 日本語 (シフト JIS)」に変えて、プレビューを見比べてください。
直し方2:メモ帳で「UTF-8(BOM付き)」に保存し直す
- CSVを、メモ帳で開く(日本語が化けずに見えれば、中身は壊れていません)
- 「ファイル」→「名前を付けて保存」を選ぶ
- 下の「文字コード」で、
UTF-8 (BOM付き)を選んで保存する(古いメモ帳では「UTF-8」と表示されます) - 保存したCSVを、Excel で開く
やってはいけないこと
化けた状態の Excel で、そのまま上書き保存しないでください。化けた文字が保存されて、元に戻せなくなることがあります。 作業の前に、元のCSVをコピーしておくと安全です。
毎月繰り返す場合
毎月、同じ形式のCSVを開き直すのは手間です。「CSV職人」は、UTF-8 と Shift_JIS を自動で判別して読み込み、出力の文字コードも選べます。 元のCSVは書き換えません。