在Win和Mac下打开csv文档都会有中文乱码的问题,那么我们需要对在这两种操作系统下出现的问题进行研究。
一、首先是在Mac系统
例如下图所示,有一个文件“users.csv”,里面的内容是中文,并且选中文件后点击空格预览,也能正常显示中文。 但用Excel打开时,就变成一堆乱码。如下图所示:
究其原因是Mac下文本的默认编码是UTF-8,而Excel对中文的处理是GBK编码。(听不懂?我只是在胡说八道罢了,继续往下看解决方案!)。
解决方法很简单,1)首先打开Mac下自带的“Automator”。如下图所示: 2)点击左下角的“新建文稿”按钮。
3)选择服务类型
4)创建Shell脚本
- 在左上角的输入框中输入“Shell”,看到“运行Shell脚本”这一项
- 将“运行Shell脚本”这一项用鼠标拖拽到右边的空白区域,松开鼠标就能看到如下图所示的界面
- “服务”收到选定的,这一项选择“文稿”
- 位于,这一项选择“Finder.app”
- Shell,这一项选择“/bin/bash”
- 传递输入,这一项选择“作为自变量”
- 文本框中输入如下代码:
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
】


7)点击这一项,等待数秒(右上角会出现一个小齿轮,并快速消失),再用Excel重新打开,就会看到转换好的文件http://ww2.sinaimg.cn/large/69e22590gw1f0j7by9ny8j20y80si44v.jpg
以上过程就能实现在mac系统下正常打开中文乱码的文档。
二、Windows系统
首先用右键,选择用“记事本”方式打开,然后选择文件-另存为,编码方式修改为ANSI,即可将上述转化为正确的中文。