Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4436|回复: 0

linux下csv导出文件中文乱码问题

[复制链接]

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
发表于 2018-4-28 14:49:34 | 显示全部楼层 |阅读模式
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


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-4-17 05:46 , Processed in 0.056039 second(s), 20 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表