小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


ExcelでUTF-8エンコーディングされたCSVファイルを開く方法


photo credit: gonzalo_ar via photopin cc

はじめに

このエントリでは、ExcelでUTF-8エンコーディングされたCSVファイルを開く方法を紹介します。

結論

以下のような3つの方法があります。

  1. 拡張子をcsvからtxtに変更してから開く。
  2. CSVファイルをBOMつきのUTF-8ファイルに保存しなおしてから開く。
  3. CSVファイルの保存形式をANSIに変更してから開く。
ExcelはCSVファイルをShift_JISで開こうとする

Excelは、CSVファイルをShift_JISで開こうとします。このため、Shift_JIS以外(たとえば、UTF-8)のエンコーディングで保存されたCSVファイルを開こうとすると、文字化けします。

Excel にて、UTF-8 形式のテキスト ファイル (拡張子 CSV や TXT) を開くと文字化けが発生します。
(中略)
Excel では、UTF-8 形式でテキスト ファイルを開くことができません。
この現象は Excel の仕様に基づく制限事項です。
[XL2002] UTF-8 形式のテキスト ファイルが文字化けする はてなブックマーク - [XL2002] UTF-8 形式のテキスト ファイルが文字化けする

UTF-8でエンコーディングされたCSVファイルを文字化けせずに開く場合には、以下の方法でファイルを開く必要があります。

CSVファイルの拡張子を変更する

拡張子を変更することで、UTF-8で保存されたCSVファイルをExcelで開くことができます。

  1. 拡張子を.csvから.txtに変更します。
  2. メニューバーのファイル−開くから、拡張子を変更したファイルを指定します。

これにより、読み込み時のエンコーディングを指定して、CSVファイルを開くことができます。

拡張子が.txtで、ファイルを開くとテキストウィザードが起動し、文字コードを選択することができます。
この特性を利用して、
.csvから.txtに拡張子をちょこっと変えてあげれば、文字コードを選択することができます。
ただし、ドラック&ドロップをすると、強制的にShiftJISとして開いてしまいます。
メモ ExcelでUTF-8のCSVを開く方法 - ono ono ono はてなブックマーク - メモ ExcelでUTF-8のCSVを開く方法 - ono ono ono

CSVファイルをBOMつきのUTF-8形式で保存しなおしてから開く

BOMなしのUTF-8から、BOMつきのUTF-8形式に変換してから、開くようにすれば、文字化けを回避できます。

以前よりマイクロソフト社製品はすべて内部的にはUnicodeを全面的にサポートしているはずなので、読み込ませられないわけはないはず…とおもって検索したりしていたところ解決方法がわかりました。

<解決方法>
ファイルを「BOM付き」(あるいはUTF-16)で再保存する
ExcelでUTF-8のCSVを開く方法 (CodeZine編集部ブログ) はてなブックマーク - ExcelでUTF-8のCSVを開く方法 (CodeZine編集部ブログ)

保存形式をANSIに変更してから開く

保存形式をANSIに変更してから開くという方法でも開くことはできますが、Shift_JIS範囲外の文字はANSIでは表現できないため、文字情報が欠落する可能性があります。表現できない文字は、?で文字化けして保存されます。

メモ帳で開き、「名前を付けて保存」で文字コード:ANSIを選択して保存すればExcelで文字化けしない文字コードとなります。
ExcelでUTF8のcsvファイルを開く方法 | OKWave はてなブックマーク - ExcelでUTF8のcsvファイルを開く方法 | OKWave