php 导入csv ascii编码中文无法读取 utf-8
php项目导入csv文件后,PHP无法读取到ascii编码的数据。强制使用iconv()和mb_convert_encoding()将ascii转化为utf-8无效。
搜索原因:ascii是utf-8的子集。
在读取csv文件前先使用setlocale函数来设置地区信息。
string setlocale(string category, string locale);
参数 category 有下列的选择:
LC_ALL 包括下面的全项选项都要。 LC_COLLATE 配置字符串比较,Php 目前尚未实作出来本项。 LC_CTYPE 配置字符类别及转换。例如全变大写 strtoupper()。 LC_MONETARY 配置金融货币,PHP 目前尚未实作。 LC_NUMERIC 配置小数点后的位数。 LC_TIME 配置时间日期格式,与 strftime() 合用。
参数 locale 有下列的选择:
zh_CN GB2312 en_US.UTF-8 UTF-8 zh_TW BIG5 zh_HK BIG5-HKSCS zh_TW.EUC-TW EUC-TW zh_TW.UTF-8 UTF-8 zh_HK.UTF-8 UTF-8 zh_CN.GBK GBK
setlocale(LC_ALL, 'en_US.UTF-8'); if ($data = fgetcsv($handle, 10000)) {}
二、window平台
听别人说window平台使用iconv()和mb_convert_encoding()是可以的。
版权声明:本文由“憨小猪”发布,如需转载请注明出处。