近日笔者工作中遇到linux下,使用fgetcvs()不能正确导入含有中文字符的CVS文件。查过查找资料和实践,现在解决方法与大家一起分享。
※解决Linux下php函数fgetcvs()不能正确读取含有中文的CVS文件问题:
1).根本原因是由于linux系统编码与CVS文件保存时的编码格式不一致造成。
解决根本原因:修改系统默认编码,使其与CVS文件保存时的编码一致。
vi /etc/sysconfig/i18n
修改 LANG="zh_CN.GB2312"
或者 LANG="zh_CN.GBK"
2).临时办法:
在CVS文件中的中文部分加入半角双引号,如:老杨 => "老杨"
但该方法不能真正解决根本问题,只适用于没有拿到系统root权限,且CVS文件中的数据量少时。
※修改linux系统默认编码,如将其默认编码改为GBK
vi /etc/sysconfig/i18n
修改 LANG="zh_CN.GB2312"
或者 LANG="zh_CN.GBK"
或者 LANG="zh_CN.18030"
阅读(1319) | 评论(0) | 转发(0) |