ExcelでCSVが文字化けするときは? UTF-8・BOM・開き方を同じデータで比較

スポンサーリンク

CSVをExcelで開いたら、日本語が読めなくなった。そんなときは、元のファイルを上書きせず、Excelの[データ]から取り込む方法を確認してください。

今回、同じ日本語データをUTF-8のBOMあり・BOMなし・CP932で用意し、ダブルクリックとデータ取り込みを比較しました。検証した環境では、UTF-8のBOMなしはダブルクリックで文字化けしましたが、データ取り込みでは正常に読めました。

同じ日本語データで開き方を比較した結果

検証は2026年10月10日に、Dr.NAOがWindows PCで実施しました。Excelの環境は、Excel 2024 MSO、バージョン2609、ビルド16.0.20430.20032、64ビットです。

使用した内容は以下の架空データです。

ID,氏名,住所,メモ
A01,山田太郎,富山県滑川市,日本語の確認
A02,佐藤花子,東京都八王子市,カタカナとABC
A03,鈴木一郎,大阪府大阪市,すべて架空データ
作成したCSVの文字コード ダブルクリックで開く データ取り込みの初期文字コード 取り込みプレビュー 読み込み後
UTF-8・BOMなし 文字化け 65001(UTF-8) 正常 正常
UTF-8・BOMあり 正常 65001(UTF-8) 正常 正常
CP932 正常 932 正常 正常

「正常」は、この日本語サンプルが読めたことを示します。

今回のデータ取り込みでは、最初から各ファイルに対応する文字コードが表示されていました。文字コードを手動で切り替えて直した結果ではありません。

この表は、記載した環境での実測結果です。別のExcelや設定でも同じ初期選択になるとは限りません。

文字化けしたCSVをデータから取り込む手順

  1. 文字化けしたCSVは上書き保存せずに閉じます。
  2. Excelで空白のブックを開きます。
  3. [データ]→[テキストまたはCSVから]を選びます。
  4. 元のCSVファイルを選びます。
  5. [元のファイル]などの文字コード欄と、日本語のプレビューを確認します。
  6. 区切り記号が合っていて列が正しく分かれていることを確認し、[読み込み]を選びます。

文字コードが合っていない場合は、ファイルの作成条件に対応するものを選びます。今回のUTF-8ファイルは65001、CP932ファイルは932で読み込めました。

Microsoftも、UTF-8のBOM付きCSVを通常の方法で開く方法と、それ以外の場合にPower Queryなどを使って取り込む方法を案内しています。【出典M1】

BOMなしでも、ファイルを作り直さずに読めた

今回のUTF-8・BOMなしCSVでは、ファイル自体を書き換えず、開き方を変えることで日本語を読めました。

この結果から、文字化けしたときに、すぐ別の文字コードで保存し直す必要があるとはいえません。まず元ファイルを残し、取り込み画面で文字コードとプレビューを確認できます。

ただし、すでに文字化けした内容で上書きされたファイルや、異なる文字コードが混在するファイルは今回の検証対象ではありません。

日本語が読めても、先頭ゼロや見出しは別に確認する

文字化けがなくても、商品コードなどの先頭ゼロや見出し行まで正しく扱われるとは限りません。

取り込み画面には、文字コードだけでなく、区切り記号やデータ型検出の設定もあります。Microsoftの資料でも、これらは別々の取り込み条件として説明されています。【出典M2】

日本語の読みやすさに加えて、コードの桁数、列の分かれ方、見出し行を確認してください。

今回確認した範囲

今回確認したのは、同じ短い日本語サンプルについて、3種類の文字コードと2種類の開き方を比較した結果です。

絵文字、外字、引用符内の改行、大量データ、Mac版・Web版Excelは検証していません。また、Windowsの地域設定などが異なる環境へ結果を一般化するものではありません。

出典

コメント

タイトルとURLをコピーしました