CSVファイルをExcelで開いたら文字化けして読めない!
CSVファイルをExcelで開くと、上のように日本語が文字化けすることがあります。これの原因は文字コードの違いによるものです。
原因がわかっているなら、対処のやりようもあります。いくつかの方法を紹介します。
その前に、この文字化けしたファイルは、Ubersuggestというツールで書き出したものです。Ubersuggestが悪いとかそういうわけではなく、Excelだと上手く扱えないCSVファイルを生成するものの一例です。
こちらが、Ubersuggestの画面で、ここの「CSVで出力」で作ったファイルです。
LibreOfficeを使う
言うまでもありませんが、ExcelでなくてもCSVファイルを扱うことはできます。それなら、上手くいかないExcelにこだわらずに、ちゃんと開けるツールを使えばOKです。例えば、LibreOffice。
MS-Officeと同じようなオフィスツールで、LibreOfficeをインストールすれば、たくさんのツールが使えるようになります。この中のCalcがExcelに相当します。
早速開いてみます。
Excelと違って、最初に、このように文字コードの選択画面が表示されます。ここでは「日本語(Shift-JIS)」になっており、これだと、Excelと同じように文字化けしています。
この文字エンコーディングのメニューで「UTF-8」を選択します。
まだ完全ではありませんが、一応それらしく読めています。これで「OK」を押します。
文字化けせずにちゃんと開けました。
というように、UTF-8が扱えるツールで開けば問題ありません。
Googleスプレッドシート
UTF-8が扱えるツールなら良いのですから、Googleスプレッドシートでも大丈夫です。
「ファイル」メニューの「開く…」を選びます。
「アップロード」をクリックします。
この枠の中に、目的のファイルをドラッグ&ドロップします。
ファイルがアップロードされると、このようにちゃんと表示されます。
実は、ExcelでもOK
これまでの流れですと、「ExcelではUTF-8が扱えないので文字化けする」という結論になりそうですが、実はそうではありません。ExcelでもUTF-8のファイルを扱うことができます。
詳しいことはここでは割愛しますが、UTF-8には二種類あります。「BOM」というものが付いているか付いていないかです。私もあまり詳しいわけではないので断言はできませんけど、「BOMなしUTF-8」が広く使われているようです。
一方、Excel、というか、Microsoftの製品では「BOM付きUTF-8」が使われているようです。今回のようなCSVファイルでは、「BOM」が付いてないため、Excelは(UTF-8ではなく)Shift_JISとして扱うので文字化けしてしまうというわけです。
ということで、この「BOMなしUTF-8」のCSVファイルを「BOM付きUTF-8」に変換すればOKです。
その一番簡単な方法は、Windows 10のメモ帳を使うことです。かつてのWindowsのメモ帳はShift_JISが使われていましたが、Windows 10のものではUTF-8が標準になっています。かつ、「BOM」付きです。また、BOMなしのUTF-8も開けます。
ということで、まずは、メモ帳で開きます。
CSVファイルを選択して、右クリックで「プログラムから開く」の中の「メモ帳」を選択します。もし、メモ帳がここに出てきていなければ一番下の「別のプログラムを選択」で「メモ帳」を探します。
このように、普通に開くことが確認できたら、何も変更せず、そのまま「上書き保存」します。
これで、強制的に「BOM」が付いたUTF-8で保存されます。
Excelで開いてみます。
無事、文字化けすることなく開けました。
なお、将来のWindows 10のメモ帳では、「BOMなしUTF-8」が標準になるそうです。
こうなったら、「UTF-8(BOM付き)」を選択して保存すれば大丈夫だろうと思います。現時点では、まだ、このバージョンのWindows 10はリリースされていないので、あくまで予想ですが。
また、メモ帳が「BOMなしUTF-8」が標準になるのであれば、いずれは、MS-Officeの方も同じようになるのではないかとも思います。