2023-04-12
エクセルで開いたCSVが文字化けしたときの対処方法
外部のシステムなどからダウンロードしたCSVファイルを、エクセルで開いて処理しようとすると、文字化けしてファイルがうまく表示できないことがあります。今回は文字化けした際の対処方法をご紹介します。
原因と対処方法が分かれば何ということはありません。
文字化けが起こる主な原因
文字化けが発生してしまう、主な原因のひとつが、文字コードです。CSVファイルがUTF-8などのUnicodeでエンコードされている場合に、ExcelがShift-JISなどの文字コードで開いた場合に文字化けが発生することがあります。今回はCSVファイルがUnicode(UTF-8)の文字コードで保存されていることを前提とします。
CSVファイルは、テキスト形式で記述されています。テキストデータは、Unicodeと呼ばれる文字セットでエンコードされることが一般的です。一方で、Windows環境の場合、一部のアプリケーション(例えばExcel)は、Shift-JISという文字コードでテキストデータをエンコードすることがあります。CSVファイルがUTF-8などのUnicodeで保存されている場合に、エクセル側でShift-JISで開かれると、エクセルがUnicodeに対応していない文字を認識できず、誤った文字として表示してしまうためです。
2つの解決方法
以下は、Unicodeのファイルをエクセルで開いたため、文字化けしてしまったCSVファイルです。
テキストエディタで開くと、文字化けせず問題なく表示されます。
今回は文字コードを起因とする文字化けに対して、2つの解決方法をご紹介します。
エクセルのクエリを使用してファイルを開く
エクセルを立ち上げ、「データ」タブにある「テキストまたはCSVから」より、CSVファイルを展開しましょう。
ダイアログが表示されたら、CSVファイルを指定します。
プレビューが表示されます。文字コードは、CSVファイルの保存文字コードと同じ、Unicode(UTF-8)が選択されていて、文字化けすることなくファイルの内容が表示されました。そして、問題なく読み込みができました。
今回はCSVファイルの文字コードがUnicode(UTF-8)なので、Unicode(UTF-8)を指定して展開しましたが、実際にはCSVファイルの文字コードに合わせて変更してください。
文字コードをShift-JISにして保存し直す
次はファイルの文字コードを変更して対応する方法です。Windowsであることを前提にしていますが、Macであっても対応方法は同じです。内容を読み換えてください。
エクスプローラ上でファイルを右クリックし、「プログラムから開く」から「メモ帳」を選択します。
開いたファイルが文字化けしていないことを確認のうえ、「ファイル」から「名前をつけて保存」をクリック。
保存ダイアログで、保存ボタンの左に文字コードを指定するプルダウンがあります。今回はANSIを選択します。ANSIは日本語WindowsでShift-JISのことです。(厳密には異なるようですが、今回はその認識で問題ありません。)
保存後、エクセルで再度開いてみましょう。文字化けが発生しないことが確認できましたね。
注意点
文字化けが発生した状態で、ファイルに追記などの編集を加え、保存して閉じてしまうと、復元できない状態に陥ってしまう可能性があります。文字化けの原因特定、解消がされる前には、ファイルの変更や保存はしない、保存を行う場合はファイルをコピーしてバックアップをするなどした方が安心だと思います。
まとめ
文字化けの主な原因は、ファイルで指定されている文字コードとファイルを開くときに指定されている文字コードに不一致があることにあります。
つまり、ファイルを開く際にアプリ側の文字コードに合わせるか、ファイルそのものの文字コードを変換すれば解決します。文字化けが発生しても、慌てず解消方法を試しましょう。