トラブル パソコン

エクセルで文字化けするCSVの正体とは!

表計算ソフトで最も有名なエクセル。
使ったことが無い人の方が少ないと思うくらい当たり前にファイルのやり取りしますね。パソコン買って「なぜエクセルが入ってない?」と、パソコンには入ってて当たり前のように思われている方も少なくないようです。
エクセルはMicrosoft社のoffice製品の一つですので、パソコンとは別に買う必要があることもあります。

そんなエクセルで他人から送られてきたCSVファイルやダウンロードしたファイルを開こうとしたときに、文字化けして表がめちゃめちゃになってた経験ありますでしょうか?

このエクセルはshift_jisで書かれたCSVに関してはそのまま開けるのですが、UTF-8で書かれたCSVファイルに関しては文字化けすることがあるんです。

「文字化けすることがある?」。。。

そうなんです、文字化けしない物もあるんです。

では、どう違うの?
そもそもUTF-8とは言いましても2種類あると理解してください。
その違いはBOM付きか、BOM無しか。。。です。
通常の名前ですが
BOM付きを UTF-8
BOM無しを UTF-8N
として分類されます

BOMとは、BOM(byte order mark)バイトオーダーマーク。詳しくはWikiをご覧ください

このBOMが付いているCSVファイルはUTF-8で書かれていても文字化けせず開くことができますが、BOMが付いてないCSVファイルは おそらく文字化けして読めないでしょう。

「では、見分け方はあるの?」
現時点(2014/02/10)では、Windowsに最初から入っているメモ帳では判断できませんが、
TeraPad などのテキストエディタで開くとBOM付きか無しかを確認でき変更もできます。
このようなテキストエディタでCSVファイルを開きBOMを付けて保存すると 無事にエクセルでも開けると思います。

ちなみにこのBOMを見てみたい方は、バイナリエディタ BZなどで開いてみると最初行で違いが分かると思います。