用户在输入数据的时候,不懂什么原因,数据是全角的,但是数据库保存没有任何问题,在数据导出到csv的时候就缺失了。
最开始的方案
//略
$tel = iconv($mobile,'utf-8','gb2312');
//略
这种方式全角数据会丢失。
改良方案,使用函数mb_convert_encoding()
//略
$tel = mb_convert_encoding($mobile,'gb2312','utf-8');
//略
这样生成的数据在前后带了个?
,再次修改
//略
$tel = mb_convert_encoding($mobile,'gb2312','utf-8');
$tel = str_replace('?','',$tel);
//略
还是有问题,数据跳了一列,原本应该在B列的数据,直接跳到C列输出了,我觉得可能是字符集的问题,所有试了下gbk
。
//略
$tel = mb_convert_encoding($mobile,'gbk','utf-8');
$tel = str_replace('?','',$tel);
//略
成功。