photo credit: gonzalo_ar via photopin cc
はじめに
このエントリでは、ExcelでUTF-8エンコーディングされたCSVファイルを開く方法を紹介します。
秀和システム
売り上げランキング: 1,346
結論
以下のような3つの方法があります。
- 拡張子をcsvからtxtに変更してから開く。
- CSVファイルをBOMつきのUTF-8ファイルに保存しなおしてから開く。
- 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 形式のテキスト ファイルが文字化けする
UTF-8でエンコーディングされたCSVファイルを文字化けせずに開く場合には、以下の方法でファイルを開く必要があります。
CSVファイルの拡張子を変更する
拡張子を変更することで、UTF-8で保存されたCSVファイルをExcelで開くことができます。
- 拡張子を.csvから.txtに変更します。
- メニューバーのファイル−開くから、拡張子を変更したファイルを指定します。
これにより、読み込み時のエンコーディングを指定して、CSVファイルを開くことができます。
拡張子が.txtで、ファイルを開くとテキストウィザードが起動し、文字コードを選択することができます。
この特性を利用して、
.csvから.txtに拡張子をちょこっと変えてあげれば、文字コードを選択することができます。
ただし、ドラック&ドロップをすると、強制的にShiftJISとして開いてしまいます。
メモ 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編集部ブログ)
保存形式をANSIに変更してから開く
保存形式をANSIに変更してから開くという方法でも開くことはできますが、Shift_JIS範囲外の文字はANSIでは表現できないため、文字情報が欠落する可能性があります。表現できない文字は、?で文字化けして保存されます。
メモ帳で開き、「名前を付けて保存」で文字コード:ANSIを選択して保存すればExcelで文字化けしない文字コードとなります。
ExcelでUTF8のcsvファイルを開く方法 | OKWave