CSVが文字化けする原因
CSVファイルの中身はただの文字の並びで、それを「どの文字コードで保存したか」という情報を持っていません。最近のWebサービスやシステムが書き出すCSVはUTF-8が主流ですが、日本語版のExcelはBOM(ファイル先頭の目印)がないUTF-8のCSVをShift_JISだと思って読み込むため、日本語が「縺ゅ≧」のような文字に化けてしまいます。
どの文字コードを選べばいい?
- Excelで開きたい:UTF-8(BOM付き)。環境依存文字や絵文字も残せます。
- 会計ソフトや古い業務システムに取り込みたい:Shift_JIS。取り込み先が指定している場合はそれに合わせてください。
- Webサービスにアップロードしたい・プログラムで読みたい:UTF-8(BOMなし)が無難です。
Shift_JISに変換するときの注意
Shift_JISは使える文字が限られているため、絵文字や一部の記号・外字は変換できず「?」に置き換わります。変換できない文字がある場合は、ダウンロード前に警告を表示します。
Excelを使わずに直す方法
Excelの「データ」タブ →「テキストまたはCSVから」で読み込み、「元のファイル」でUTF-8を選ぶ方法でも文字化けせずに開けます。毎回この操作をするのが面倒な場合は、このツールでBOM付きUTF-8に変換しておくと、ダブルクリックで開けるようになります。