今天在写一个导出数据到csv的功能,为了防止中文乱码,需要将utf8转码,我使用了这样的语句:
#这里先是把csv文件的内容生成,然后下面转码 $csv=iconv('utf-8','gb2312',$csv);
结果报Notice: iconv(): Unknown error (22)的错误,想起来$csv里带有换行,所以没办法转换,于是在各个数据项串成csv文件内容前转换,这时报了两个iconv(): Unknown error (84)的错误,输出内容,发现报错时有一个是处理汉字“密菓”,第二个字不认得,生僻,我突然想到,难道是字符集不支持,于是换成gbk:
$csv .= iconv('utf-8','gbk',$val)
再运行,没报错了。