CSVをExcelで開くと文字化けする原因と直し方

原因の多くは、CSVの文字コードと、開くソフトが想定している文字コードの食い違いです。 UTF-8 で保存されたCSVを、Excel のダブルクリックで開くと、文字化けすることがよくあります。 Excel の「テキストまたはCSVから」で開くか、メモ帳で「UTF-8(BOM付き)」に保存し直すと、直ることが多いです。

どんな化け方かで、原因の見当がつく

日本語版の Excel は、Shift_JIS のCSVはそのまま開けます。一方、BOM(先頭の目印)のない UTF-8 のCSVは、化けやすくなります。

直し方1:Excel の「テキストまたはCSVから」で開く

  1. Excel を起動して、空のブックを開く(CSVをダブルクリックで開かない)
  2. 「データ」タブ →「テキストまたはCSVから」を選び、CSVファイルを選ぶ
  3. 表示された画面の「ファイルの元の文字コード」(表記は Excel のバージョンで少し違います)を、65001: Unicode (UTF-8) に変える
  4. プレビューで日本語が正しく見えたら「読み込み」を押す

うまくいかないときは、「932: 日本語 (シフト JIS)」に変えて、プレビューを見比べてください。

直し方2:メモ帳で「UTF-8(BOM付き)」に保存し直す

  1. CSVを、メモ帳で開く(日本語が化けずに見えれば、中身は壊れていません)
  2. 「ファイル」→「名前を付けて保存」を選ぶ
  3. 下の「文字コード」で、UTF-8 (BOM付き) を選んで保存する(古いメモ帳では「UTF-8」と表示されます)
  4. 保存したCSVを、Excel で開く

やってはいけないこと

化けた状態の Excel で、そのまま上書き保存しないでください。化けた文字が保存されて、元に戻せなくなることがあります。 作業の前に、元のCSVをコピーしておくと安全です。

毎月繰り返す場合

毎月、同じ形式のCSVを開き直すのは手間です。「CSV職人」は、UTF-8 と Shift_JIS を自動で判別して読み込み、出力の文字コードも選べます。 元のCSVは書き換えません。