CSVが文字化けする原因と直し方|Excelでの開き方を解説
他のシステムからエクスポートしたCSVファイルをExcelで開いたら、日本語の部分が「謨ー蟄怜喧縺・」のような意味不明な文字列になっていた——これは文字化けと呼ばれる現象で、原因のほとんどは文字コードの不一致です。この記事では、文字化けが起きる仕組みと、正しく直して開く方法を解説します。
原因:文字コードがファイルと読み込み側で食い違っている
CSVファイルは中身が単なるテキストで、どの規則(文字コード)で文字をバイト列に変換したかという情報を、ファイル自体は持っていません。日本語でよく使われる文字コードには主に次の2種類があります。
| 文字コード | 特徴 |
|---|---|
| UTF-8 | Web・海外製システム・Mac標準で広く使われる |
| Shift_JIS(ANSI) | Windows・日本の古い業務システムで多く使われる |
ファイルがUTF-8で保存されているのに、開く側がShift_JISだと思い込んで読み込む(またはその逆)と、文字化けが発生します。Excelは日本語版でもCSVをダブルクリックで開くとShift_JISとして解釈することが多く、UTF-8で保存されたCSVをダブルクリックで開くと文字化けする典型パターンがこれです。
直し方1:Excelのテキストインポート機能で文字コードを指定する
ダブルクリックではなく、文字コードを指定して読み込みます。
- Excelを起動し、「データ」タブ > 「テキストまたはCSVから」を選択
- 対象のCSVファイルを選択
- プレビュー画面で「元のファイル」のドロップダウンから文字コード(「65001:Unicode(UTF-8)」など)を選び直す
- 日本語が正しく表示されることを確認して「読み込み」
どちらの文字コードか分からない場合は、UTF-8とShift_JISを両方試して、文字化けしない方を選べば確実です。
直し方2:テキストエディタで文字コードを変換してから開く
メモ帳(Windows)やVSCodeなどのテキストエディタには、開いているファイルの文字コードを別の文字コードで保存し直す機能があります。文字化けしたCSVをテキストエディタで開き、文字コードをUTF-8やShift_JISに変換して保存し直してからExcelで開く方法も有効です。
直し方3:Excelから保存したCSVが他のシステムで文字化けする場合
逆に、Excelで作ったCSVをWebサービスや他のシステムに読み込ませたときに文字化けする場合は、保存時の形式を見直します。Excelの「名前を付けて保存」で、ファイルの種類を「CSV UTF-8(コンマ区切り)」にすると、多くのWebシステムで問題なく読み込めるようになります(この形式は比較的新しいExcelのバージョンから選べます)。
手作業の限界
- ファイルを開くたびに文字コードを目視で判断し、都度インポート設定をやり直す必要があります——複数のCSVを次々に処理する場合、地味に手間がかかります
- 文字コードの判定に絶対的な正解を機械的に出す方法はなく、実際に開いてみて確認するのが基本になります
- 1つのファイルをたまに開く程度であれば、本記事の手順で十分対応できます
文字コードを自動判定して読み込む
リストクリーナーは、CSVファイルの文字コード(UTF-8 / Shift_JIS)を自動判定して読み込むため、インポート設定を毎回意識する必要がありません。整形後はExcel形式(.xlsx)でもダウンロードでき、CSVでダウンロードする場合もExcelで文字化けしないようBOM付きUTF-8で出力します。データはブラウザ内で処理され外部に送信されません。無料で100行まで試せます。
無料でファイルを開いてみる- Excelのバージョンによって直し方は変わりますか?
- 「データ」タブ>「テキストまたはCSVから」は比較的新しいExcel(Microsoft 365・Excel 2016以降)で利用できます。古いバージョンでは「データ」タブ>「外部データの取り込み」からテキストファイルを指定する形になりますが、文字コードを選び直すという基本的な流れは同じです。
- Macでも同じ手順で直せますか?
- Mac版Excelにも同様のテキストインポート機能があり、文字コードを指定して読み込めます。操作画面の見た目は多少異なりますが、考え方は共通です。