第5話

スプレッドシートから出力したCSVファイルをMac版Excelで文字化けさせずに開く方法

こんにちは!Takuya.B(@TB_IQ)です。

Googleスプレッドシートで生成したCSVファイルをMac版Excelで開いたら、日本語が文字化けしてしまいました。

スプレッドシートやExcelで設定項目を色々イジっても文字エンコードを変更する項目があるというわけではありませんでした。

そこで本日は、Googleスプレッドシートで出力したCSVファイルをMac版Excelで文字化けさせずに開く方法をご紹介します!

スポンサーリンク

Googleスプレッドシートで出力したCSVファイルをExcelで開くと日本語が文字化けする

Googleスプレッドシートから出力したCSVファイルをMac版のExcelで開くと日本語がすべて文字化けしていました。

これでは使い物になりません。

文字化けする原因

GoogleスプレッドシートでCSVを出力するときに使用される文字エンコードはUTF-8です。しかし、Mac版のExcelではUTF-8ではなくShift-JISでエンコードしようとするため、文字化けが発生します。

文字化けを防ぐ方法

方法は大きく分けて2種類あります。

  • 文字コードの種類をShift-JISに合わせる方法
  • UTF-8ではなくBOM付きUTF-8を使う方法

Googleスプレッドシートでは文字エンコードを指定して出力することができないので、どちらの場合も一度出力したCSVファイルを修正するという工程が発生します。あしからず。

今回は2つめのBOM付きUTF-8を使う方法を紹介します。

BOM付きUTF-8を使って文字化けを防ぐ

こちらの方法はターミナルからコマンドで文字エンコードを変換します。変換にはnkfコマンドを使用します。

# BOM付かどうか確認するコマンド file
file hoge.csv 

# CSVにBOMを付けるコマンド nkf
nkf --overwrite --oc=UTF-8-BOM hoge.csv

# BOMを削除するコマンド nkf
nkf --overwrite --oc=UTF-8 hoge.csv

スポンサーリンク

まとめ

調べたところ、Windows版のExcelでは読み込み時に文字エンコードを切り替えることができるらしいです。ですが、Mac版では探してもその機能が見つからず。。

少々手間が掛かってしまいますが、やむを得ないですね。

では、次回もよしなに!