csv 是在 windows 下转换的,保存的代码也是 utf-8 的,但是读取的时候,中文全部是乱码,如果 excel 是在 mac 下用 number 转换的 csv(utf8),读取就是正常的。 程序是运行在 centos 7 下面的。
1
z5864703 2017-05-19 10:06:47 +08:00
读出来的数据进行编码转换下就好了,先检测确认啥编码
|
2
rxzxf1993 2017-05-19 10:21:50 +08:00
你 Windows 下创建的 csv 估计不是 utf8
|
3
gouchaoer 2017-05-19 10:24:39 +08:00
php 字符串没有编码是纯 c 字符串,是无法感受编码的,试试不要保存成 utf-8 而是 ansic 试试
|
4
5dkgansm 2017-05-19 10:38:02 +08:00
csv 用 excel 或者 wps 保存默认编码是 gbk 还是 gb2312 来着,可以 iconv 转一下。
|
5
JKeita 2017-05-19 10:47:36 +08:00
用文本编辑器打开会乱码吗,还是只有 excel2003 会乱码,csv 最好用 gbk 格式
|
6
MrMike OP @rxzxf1993 在 excel 里面,是选择了 utf8 的。查了半天,最后还是算了。现在采用的是先导出 csv,然后用记事本再另存为 utf8 的编码。。步骤是麻烦了点。。
|
9
lianyue 2017-05-19 10:53:56 +08:00
PHP 有编码转换的函数 读一行 转一行就好了
mb_convert_encoding 函数 |
12
cxbig 2017-05-19 17:59:22 +08:00
Windows 下转存 CSV 的工作量大么?如果不大,建议使用 LibreOffice 来做。
我司以前也有类似问题,用 Windows 的同事改用 LibreOffice 处理 CSV 以后就没事了。 |