CSVファイルを開いたら、日本語が「譁�怜喧縺�」のような意味不明の記号に化けていた——そんな経験はないでしょうか。私も外部システムから書き出したCSVをExcelで開くたびに、この文字化けに悩まされてきました。
文字化けは、ファイルを作った側の文字コードと、開く側のソフトが想定している文字コードが食い違うことで起こります。CSVは異なるシステム間のデータのやり取りに使われることが多く、この食い違いが起きやすいファイル形式です。
原因さえ分かれば対処は難しくありません。ここではWindowsでCSVの文字化けを解消する方法を、原因の説明を交えながら整理します。
なぜCSVで文字化けが起きるのか
日本語版のExcelは、CSVをダブルクリックで開くとき、既定で「Shift-JIS(CP932)」という文字コードで中身を読もうとします。ところが近年やり取りされるCSVの多くは「UTF-8」で書き出されています。Excelがこれを勝手にShift-JISとして読んでしまうため、日本語部分が化けるわけです。
ここで鍵になるのがBOM(ビーオーエム)です。BOMはファイルの先頭に付く3バイトの目印で、「このファイルはUTF-8ですよ」とソフトに教えてくれます。BOM付きのUTF-8ならExcelもUTF-8だと判断できますが、BOMなしのUTF-8はShift-JISと誤解され、文字化けにつながります。つまり文字化けの多くは「BOMなしのUTF-8ファイルを、Shift-JIS前提のExcelで開いた」ときに起きています。
解決方法1: メモ帳でBOM付きUTF-8に保存し直す
一番手軽なのは、文字化けしたファイルをメモ帳で開いて文字コードを付け直す方法です。
手順1: メモ帳でCSVファイルを開く
まず、文字化けしているCSVファイルをメモ帳で開き、中身が正しく表示されるかを確認します。メモ帳は複数の文字コードに対応しているので、Excelで化けていてもメモ帳では正常に読めることが多いです。
- CSVファイルを右クリックします。
- 「プログラムから開く」→「メモ帳」を選択します。
メモ帳で正しく表示できたら次の手順へ進みます。もしメモ帳でも化けている場合は、ファイル自体が壊れている可能性があります。
手順2: 文字コードを指定して保存し直す
「名前を付けて保存」で、文字コードを付け直します。
- 「ファイル」→「名前を付けて保存」をクリックします。
- 保存ダイアログ下部の「エンコード(文字コード)」で、「UTF-8(BOM付き)」を選びます。Excelに読ませるなら、これが確実です。
- ファイル名の末尾が「.csv」のままであることを確認して保存します。

このダイアログには「ANSI」という選択肢もあります。ANSIはWindowsの日本語環境ではほぼShift-JISに相当し、これを選んでもExcelで正しく開けます。ただ、元がUTF-8のデータをANSIに変換すると、Shift-JISで表現できない文字(一部の記号や外国語)が欠けてしまうことがあります。文字を失いたくなければ「UTF-8(BOM付き)」を選ぶほうが安全です。
保存し直したCSVファイルをExcelで開けば、文字化けは解消されているはずです。
解決方法2: Excelの「データ」タブから文字コードを指定して開く
ファイルを書き換えたくない場合は、Excel側で文字コードを指定して読み込む方法があります。Excel 2019以降やMicrosoft 365では、次の手順で開けます。
- Excelで空白のブックを開きます。
- 「データ」タブ→「テキストまたはCSVから」をクリックします(古いバージョンでは「外部データの取り込み」→「テキストファイル」)。
- 文字化けしているCSVファイルを選びます。
- プレビュー画面の「元のファイル」で、文字コードを「65001: Unicode (UTF-8)」に切り替えます。化けが直ったら「読み込み」をクリックします。
プレビューを見ながら文字コードを切り替えられるので、UTF-8なのかShift-JISなのか分からないときも、ここで当たりをつけられます。
解決方法3: 新しいExcelで保存する/スプレッドシート経由で開く
最近のExcel(Microsoft 365)はUTF-8対応が進んでいて、「名前を付けて保存」の際にファイルの種類で「CSV UTF-8(コンマ区切り)」を選べるようになりました。これで保存すると、BOM付きUTF-8で書き出されるため、他のソフトとのやり取りでも化けにくくなります。
どうしてもExcelでうまく開けないときは、Googleスプレッドシートに取り込むのも手です。スプレッドシートはUTF-8を前提に読み込むので、UTF-8のCSVならそのまま正しく開けます。開いたあとは「ファイル」→「ダウンロード」からExcel形式や、あらためてShift-JISのCSVに変換して書き出すこともできます。
文字コードの種類を知っておく
対処の見通しが立てやすくなるので、代表的な文字コードも軽くおさえておきます。
UTF-8
世界中の文字を扱える国際標準の文字コードで、Webサイトやアプリで最も広く使われています。CSVもUTF-8で書き出されることが増えました。BOMの有無で挙動が変わる点だけ意識しておくと、文字化けの原因を切り分けやすくなります。
Shift-JIS(CP932)
Windowsの日本語環境で古くから使われてきた文字コードです。Excelが既定で想定するのもこれで、これまでの日本語CSVの多くはShift-JISで作られてきました。ただし扱える文字の範囲が狭く、UTF-8にしかない文字は表現できません。
ANSI
Windowsが使う文字コードの呼び名で、日本語環境ではShift-JISとほぼ同じものを指します。メモ帳で保存するときに、この名前で選択肢に出てきます。
まとめ
CSVファイルの文字化けは、ファイルの文字コードと、それを開くソフトが想定する文字コードがずれることで起こります。日本語版のExcelは既定でShift-JISを想定するため、BOMなしのUTF-8で作られたCSVを開くと化けやすい、というのが多くのケースの正体です。
対処としては、メモ帳でBOM付きUTF-8に保存し直す、Excelの「データ」タブから文字コードを指定して読み込む、新しいExcelの「CSV UTF-8」形式を使う、といった方法があります。原因の側から見れば、どれも「ファイルとソフトの文字コードを一致させる」ための手段です。仕組みを一度つかんでおけば、次に化けても落ち着いて対処できると思います。