ExcelでCSVの文字が化けるときの対処法
CSVファイルをExcelで開くと文字が「??」や意味不明な記号になる理由(文字コード)と、その対処法を順を追って説明します。
他のソフトからダウンロードしたCSVをExcelでダブルクリックして開いたら、文字が「ë‚´ìš©」のように化けてしまった、ということはよくあります。ファイルが壊れたわけではなく、ファイルの文字コードとExcelが推測した文字コードが食い違っているために起こる問題です。
なぜ文字化けするのですか?
CSVは純粋なテキストなので、「どの方式で文字を保存したか」という情報がファイル内にないことがあります。最近のWebサービスはほとんどUTF-8で保存しますが、Excelは目印のないCSVを地域ごとの古い方式(韓国語版WindowsならCP949・EUC-KR)で読もうとするため、文字が化けます。ファイルの先頭にBOMという目印があれば、ExcelはUTF-8として正しく読み込みます。
Excelですぐに直す
- Excelを開き、データ → テキストまたはCSVからを選びます。
- ファイルを選び、プレビュー画面の元のファイルを「65001 : Unicode (UTF-8)」に変更します。
- 文字が正しく表示されたら「読み込み」を押します。
DocDoriで直して保存する
- ワークスペースでCSVを開きます。引用符で囲まれたカンマや、セル内の改行もそのまま読み込みます。
- UTF-8として読めないファイルは、EUC-KR(韓国語の古い文字コード)で読み直すかを確認します。内容を確認・編集した後はUTF-8で保存し、元のファイルにBOMがあればそのまま残します。
- 保存したファイルがBOMなしのUTF-8でExcelで文字化けする場合は、上の「データ → テキストまたはCSVから」の方法で開いてください。
注意点
- CSVには書式・数式の結果・複数のシートは含まれません。書式も必要ならXLSXで保存してください。
=、+、-、@で始まる値は、Excelで数式として実行されることがあります。DocDoriの「スプレッドシート安全保存」は、こうした値の先頭にアポストロフィを付けて実行を防ぎます(元の値とは変わります)。
こんなときによく起こります
- ネットショップ・銀行・学校のシステムからダウンロードした注文履歴や名簿をExcelで開いたとき
- MacやGoogleスプレッドシートで作ったCSVを、韓国語版WindowsのExcelで開いたとき
- 古いソフトがEUC-KRで保存したCSVを、別のサービスにアップロードする必要があるとき
よくある質問
メモ帳で開くと問題ないのに、Excelだけで文字化けします。 ファイルは正常で、Excelが文字コードを誤って推測しています。上の「データ → テキストまたはCSVから」の方法で開けば解決します。
文字化けしたまま保存してしまいました。 化けた文字がそのまま保存された場合、元の文字に戻すのは困難です。元のCSVをもう一度ダウンロードして、最初から開き直すのが確実です。
先頭の0も消えてしまいました。 それは文字コードとは別の問題です。先頭の0が消えるときを参照してください。