こんにちは!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版では探してもその機能が見つからず。。
少々手間が掛かってしまいますが、やむを得ないですね。
では、次回もよしなに!