firemail

标题: linux下csv导出文件中文乱码问题 [打印本页]

作者: java    时间: 2018-4-28 14:49
标题: linux下csv导出文件中文乱码问题
http://www.cnblogs.com/soqu36/p/6957330.html

近日在服务器端通过导出csv文件,将数据从linux服务器端保存到windows桌面端,以便用户可以通过excel打开使用数据。

但是在使用excel打开csv文件时,出现了中文乱码的情况,但是使用记事本打开没有问题。

经过分析,原因如下:
1)linux服务器端采用的是zh_CN.utf-8编码方式;
2)windows的excel打开csv文件默认是使用ansi(gbk)编码方式;
这样就导致excel打开乱码的现象。

解决方案:
1.在服务器端代码中增加转码操作,由于是整个文件,故采用iconv命令行方式进行整体转码,然后通过system调用shell来实现;
2.判断system是否调用成功,需要查看system的返回值。这里不展开讨论,网上有很多说明。关键字:system 返回值  signal 。


即:
iconv file1.csv -f UTF-8 -t GBK -o file2.csv







欢迎光临 firemail (http://www.firemail.wang:8088/) Powered by Discuz! X3