結論: ExcelでCSVを開くと文字化けするのは、文字コードのずれが原因です。ダブルクリックで開くと、日本語環境のExcelは、CSVをShift_JISとして読み込もうとします。UTF-8で作られたCSVは、そのままでは化けます。直し方は、①「テキストまたはCSVから」で、UTF-8を指定して読み込む、②メモ帳で、「UTF-8(BOM付き)」に保存し直す、③保存の時点で、文字コードを選ぶ、の3つです。
文字化けの正体:文字コードのずれ
パソコンは、文字を、数字の並びとして保存しています。どの数字が、どの文字なのかを決めた約束が、文字コードです。
| 文字コード | 特徴 |
|---|---|
| Shift_JIS(ANSI) | 日本語のWindowsで、昔から使われてきた。Excelが、CSVを開く時の、標準の読み方 |
| UTF-8 | 世界共通で使われる。現在のWebやシステムの、標準的な形式 |
| UTF-8(BOM付き) | UTF-8に、「UTF-8です」という目印をつけたもの |
書き込む側が、UTF-8で保存したのに、読む側のExcelが、Shift_JISだと思い込むと、文字が読み違えられて、「縺薙s縺ォ縺。縺ッ」のような、意味のない文字になります。文字化けの全般は、文字化けの原因と直し方で解説しています。
直し方①:「テキストまたはCSVから」で読み込む
もっとも確実な方法です。文字コードを、自分で指定して、読み込めます。
Excel 2016以降・Microsoft 365の場合
- 空のExcelブックを開く(CSVファイルを、ダブルクリックで開かない)
- 「データ」タブ→「データの取得」→「ファイルから」→「テキストまたはCSVから」を選ぶ
- 開きたいCSVファイルを選んで、「インポート」を押す
- 画面の「ファイルの元」(文字コード)で、「65001: Unicode (UTF-8)」を選ぶ
- 内容が、正しく表示されているのを確認して、「読み込み」を押す
画面の名称は、バージョンによって異なる場合があります。「ファイルの元」を、いくつか切り替えて、文字が正しく見えるものを探すのが、コツです。
Excel 2007〜2013などの場合
- 空のブックを開く
- 「データ」タブ→「外部データの取り込み」→「テキストファイル」を選ぶ
- CSVファイルを選んで、「インポート」を押す
- 「テキストファイルウィザード」で、「元のファイル」を、「65001: Unicode (UTF-8)」にする
- 「次へ」を押し、区切り文字を「カンマ」にして、完了まで進む
直し方②:メモ帳で、UTF-8(BOM付き)に保存し直す
読み込みの手順が面倒なら、ファイルのほうを、Excelが読める形に直す方法もあります。
- CSVファイルを、メモ帳で開く(右クリック→「プログラムから開く」→「メモ帳」)
- 「ファイル」→「名前を付けて保存」を選ぶ
- 画面の下の「文字コード」で、「UTF-8 (BOM 付き)」を選ぶ
- 同じ名前で、または、別の名前で保存する(元のファイルは、残しておくと安心)
- 保存したCSVを、Excelで開く
BOMが付くと、Excelが、「UTF-8だ」と判断して、ダブルクリックでも化けずに開ける場合が多くなります。
注意:メモ帳の「ANSI」は、日本語環境では、Shift_JISにあたります。「ANSI」で保存すると、UTF-8専用の文字(一部の記号や、特殊な漢字)が、変わる可能性があります。
直し方③:出力・保存の時点で、文字コードを選ぶ
化けないファイルを、はじめから作る方法です。
Excelから、保存する場合
「ファイル」→「名前を付けて保存」で、「ファイルの種類」から、次を選びます。
| ファイルの種類 | 内容 |
|---|---|
| CSV UTF-8(コンマ区切り) | UTF-8の形式で保存。他のシステムと、やり取りする時に向く |
| CSV(コンマ区切り) | Shift_JIS(ANSI)で保存。Excelで開き直す場合に向く |
相手や、取り込む先が、どの文字コードを求めているかを、先に確認してください。
システムやサービスから、出力する場合
会計ソフトや、通販サイトの管理画面など、CSVを出力する側に、文字コードの選択肢があれば、「Shift_JIS」(Excelでそのまま開きたい場合)、または**「UTF-8(BOM付き)」**を選びます。