原因:Mac默认的编码是utf-8,utf-8编码的文件,用utf-8解码才会正确显示。而Mac下的excel并不支持utf-8,一般支持GBK编码的文件,用GBK解码utf-8编码的文件,所以会出错。
方法:
(1)最简单的方法是,用numbers打开,然后导出为excel文件
(2)自己写一个shell脚本,将UTF8编码的文件转换成GBK编码的文件Mac下生成CSV文件,用Excel打开时经常会遇到中文乱码的问题。例如下图所示,有一个文件“users.csv”,里面的内容是中文,并且选中文件后点击空格预览,也能正常显示中文。但用Excel打开时,就变成一堆乱码。如下图所示:究其原因是Mac下文本的默认编码是UTF-8,而Excel对中文的处理是GBK编码。(听不懂?我只是在胡说八道罢了,继续往下看解决方案!)。
1)首先打开Mac下自带的“Automator”。如下图所示:2)点击左下角的“新建文稿”按钮。3)选择服务类型4)创建Shell脚本
在左上角的输入框中输入“Shell”,看到“运行Shell脚本”这一项
将“运行Shell脚本”这一项用鼠标拖拽到右边的空白区域,松开鼠标就能看到如下图所示的界面
“服务”收到选定的,这一项选择“文稿”
位于,这一项选择“Finder.app”
Shell,这一项选择“/bin/bash”
传递输入,这一项选择“作为自变量”
文本框中输入如下代码:
for f in "$@"; do
if [ -f "$f" ]; then
iconv -s -c -f UTF8 -t GBK "$f" > /tmp/iconv.utf8.gbk.tmp
mv /tmp/iconv.utf8.gbk.tmp "$f"
fi
done
【原来的备份:
for f in "$@"
do
echo "$f"
done
】5)点击菜单“文件”-“保存”,为服务取一个名字,例如“CSV文件编码转换”6)关闭“Automator”。在Finder中找到之前的“users.csv”,右击鼠标,就能看到右击菜单中多出了一项“CSV文件编码转换”,如下图所示:7)点击这一项,等待数秒(右上角会出现一个小齿轮,并快速消失),再用Excel重新打开,就会看到转换好的文件