好久没写过文章了,今天遇到一个execl打开linux下cvs文件乱码的问题顺便记录下问题的解决办法。很多时候需要写一些脚本定时导出sql报表,导出的文件直接用execl打不开或者打开有中文乱码。如下两步便能解决:

一、处理格式问题
tab键或空格转换为逗号
shell脚本中tab键转换为空格
sed -i "s/\t/,/g" table.csv

二、编码转换
UTF-8转换GBK
iconv -f TUF-8 -t GBK table.csv -o newtable.csv

就这么简单,各自环境不同,格式转换和编码转换也不同。但知道原理就可以了,csv文件默认是以逗号分隔,默认是UTF-8编码,如果文件中含有中文就需要对应的中文编码支持。