mac系统下excel打开csv中文乱码

原因

csv文件通常是utf-8进行编码的,mac系统使用的也是utf-8编码,按理来说mac系统下打开csv文件轻而易举,即便是中文也不应出现乱码。

的确,用numbers和textFile打开csv文件,或者在mac里采用预览模式时,是不会出现中文乱码的。
mac系统下excel打开csv中文乱码_第1张图片
而用excel打开csv,就出现了乱码,那问题只能出在excel身上。
file的excel打开模式
实上excel采用的是ANSI编码,无法识别utf-8编码下的中文。在使用excel操作时,需要对文件进行编码转换,将uft-8的csv文件转换成GBK的csv文件。

用excel读取含中文的csv文件

1. 转换要读取的csv文件的编码

terminal进入要转换的文件所在文件夹,输入以下命令:

$ iconv -f UTF-8 -t GB18030 file.csv > file_new.csv

编码后,file.csv是原始的utf-8编码,file_new.csv是转换后的GBK编码,前者可以用于python等读取,后者可以用excel打开而不会出现中文乱码。建议两种文件的格式都各保存一份,如果手上只有GBK格式的file_new.csv文件,则可以进行反向
编码将原始格式的csv文件找回。

$ iconv -f GB18030 -t UTF-8 file_new.csv > file.csv

顺便说一句,file_new.csv因为是GBK编码了,所以在mac的预览模式下会变成乱码,但无需担心,用excel打开是可以正常显示中文的。

2. 写个shell脚本,一劳永逸

Office for Mac 打开 Excel 文件全是乱码,原因和解决办法是什么? - 送人亲的回答 - 知乎
可以借鉴这位知乎答主的办法,在mac系统的automator里写个shell脚本,到时用excel打开文件时,选择用csv编码即可。
mac系统下excel打开csv中文乱码_第2张图片mac系统下excel打开csv中文乱码_第3张图片

你可能感兴趣的:(excel,csv,mac,乱码)