会計ソフトや通販の管理画面、アンケートツールなどからダウンロードしたCSVを、Excelでダブルクリックして開いたら、日本語がまるで暗号のように化けていた——よくあるトラブルです。名前や住所が「?」や見慣れない記号の羅列になり、使いものにならない。
結論から言うと、そのファイルは壊れていません。原因はハッキリしていて、直し方も決まっています。この記事では、なぜExcelだけで化けるのかという仕組みと、ファイル自体を直す方法・Excel側で取り込む方法・応急処置の3通り、そして次から化けさせない予防策までを整理します。
文字化けの正体:ファイルは壊れていない
文字化けは、ファイルが破損して起きるものではありません。多くの場合、文字コードの取り違えが原因です。
コンピューターは文字を数値(バイト)で記録します。そのとき「どの数値がどの文字か」を決めた対応表が文字コードです。日本語のCSVでよく使われるのは UTF-8 と Shift_JIS の2種類。同じ「山田」という文字でも、UTF-8とShift_JISでは記録されるバイトの並びが違います。
つまり、UTF-8で保存されたファイルを、Shift_JISの対応表で読もうとすると、数値の並びが別の文字として解釈され、意味不明な記号になります。これが文字化けです。ファイルの中身(バイト)はそのままで、読み方だけがずれている状態なので、正しい文字コードで開き直せば元どおり読めます。仕組みをもう少し詳しく知りたい方は 文字コードと文字化けの基礎 もあわせてどうぞ。

誤った文字コード(UTF-8として解釈)→ 文字化け

正しい文字コード(Shift_JIS)→ 正常に表示
なぜExcelだけで化けるのか
「メモ帳やブラウザでは普通に読めるのに、Excelで開くと化ける」という経験はないでしょうか。これはExcelの仕様が関係しています。
最近のシステムが出力するCSVは、UTF-8であることがほとんどです。ところが、Windows版のExcelは、CSVをダブルクリックで開くとき、その中身を Shift_JISだと想定して読み込みます。UTF-8のファイルをShift_JISとして読むため、日本語が化けてしまうのです。
ここで鍵になるのが BOM(バイトオーダーマーク) です。BOMは、ファイルの先頭に付く「これはUTF-8です」という短い目印(3バイト)です。CSVの先頭にBOMが付いていると、ExcelはそれをUTF-8として正しく開きます。逆に言えば、BOMのないUTF-8のCSVが、Excelで化けやすいということです。
直し方①:ファイル自体をUTF-8(BOM付き)に変換する
いちばん確実で、次回以降も楽なのが、ファイル自体をBOM付きのUTF-8に変換してしまう方法です。ファイルの先頭にBOMを付けておけば、あとはダブルクリックで開くだけで、Excelが文字化けせずに開きます。
本サイトの 文字コード変換ツール は、CSVを読み込むと文字コードを自動で判定し、プレビューで中身を確認したうえで「UTF-8(BOM付き)」に変換して保存できます。ファイルはサーバーに送信されず、すべてブラウザ内で処理されるため、顧客名簿のような個人情報を含むCSVでも安心して使えます。
一度変換してしまえば、そのファイルは以降ずっとダブルクリックで開けます。同じ形式のCSVを繰り返し扱うなら、この方法がもっとも手間がかかりません。
直し方②:Excelの「データ」タブから取り込む
ファイルを書き換えたくない、元のファイルはそのまま残したい、という場合は、Excel側で文字コードを指定して取り込む方法があります。
- Excelを起動し、空のブックを開きます。
- 「データ」タブ →「テキストまたはCSVから」を選びます。
- 対象のCSVファイルを選ぶと、プレビュー画面が開きます。
- 「元のファイル」の欄で文字コード(「65001: Unicode (UTF-8)」など)を選ぶと、プレビューの文字化けが直ります。
- 正しく表示されたら「読み込み」を押します。
この方法なら、ファイルを変換せずに正しく開けます。ただし、CSVを開くたびにこの手順が必要です。たまに開くだけならこれで十分ですが、毎回となると手間なので、その場合は直し方①でファイル自体を変換しておくほうが楽です。
直し方③:メモ帳でBOM付きに保存し直す(応急処置)
追加のツールを使わず、Windowsだけで完結させたいときの応急処置もあります。Windows標準のメモ帳を使う方法です。
- 化けているCSVを、メモ帳で開きます(メモ帳はUTF-8を正しく読めるので、ここでは文字化けしません)。
- 「ファイル」→「名前を付けて保存」を選びます。
- 文字コードの欄で「UTF-8 (BOM付き)」を選んで保存します。
これでBOMが付いたUTF-8ファイルになり、Excelで開けるようになります。ただし、メモ帳はCSVの列や引用符を意識せずテキストとして扱うため、複雑なデータでは意図せず内容が変わることもあります。件数の多い業務データでは、直し方①のように文字コード変換に対応したツールを使うほうが安全です。
逆パターン:古いシステムに渡すCSVをShift_JISにする
ここまでは「UTF-8をExcelで読めるようにする」話でしたが、逆に、UTF-8のCSVを Shift_JIS にしたい場面もあります。古い業務システムや、Shift_JISを前提とした入稿先へCSVを渡すケースです。
このとき注意したいのが、Shift_JISでは表現できない文字があるという点です。絵文字や一部の環境依存文字(丸囲み数字など一部)はShift_JISに存在せず、変換すると「?」などに置き換わってしまいます。 文字コード変換ツール では、Shift_JISへの変換時に置き換わる文字の件数を事前に表示するので、大事な文字が失われないか確認してから保存できます。相手がUTF-8を受け付けるなら、無理にShift_JISにしないほうが安全です。
次から文字化けさせないための予防策
毎回直すのは面倒です。根本的に減らすには、次のような工夫が有効です。
- 出力時に文字コードを選べるなら選ぶ:システムによっては、CSVをダウンロードするときに「UTF-8(BOM付き)」や「Shift_JIS」を選べます。開く相手がExcelなら、最初からBOM付きで出力しておきます。
- 受け渡しのルールを決める:社内やチームでCSVをやり取りするなら、「ExcelならBOM付きUTF-8」と決めておくと、そのつど悩まずに済みます。
- 取り込み側の手順を共有する:直し方②の手順を関係者に共有しておけば、化けても各自で対処できます。
まとめ
- 文字化けはファイルの破損ではなく、文字コードの取り違えで起きる。
- Windows版ExcelはBOMなしUTF-8をShift_JISとして開くため化ける。
- いちばん楽なのは、ファイルをUTF-8(BOM付き)に変換しておくこと。
- ファイルを変えたくないなら、Excelの「データ」タブから文字コードを指定して取り込む。
- 古いシステム向けにShift_JISへ変換するときは、失われる文字に注意する。
CSVの文字化けを直したいときは、 文字コード変換ツール をお試しください。文字コードの自動判定とプレビューで、化けていないか確認しながらUTF-8(BOM付き)やShift_JISに変換できます。変換したCSVの中身をさらに整理したいときは CSV ⇔ JSON 変換 や 文字数カウント もあわせてどうぞ。