php使用fgetcsv读取csv文件出现乱码的解决方法
2014-11-08 12:38
856 查看
本文实例讲述了php使用fgetcsv读取csv文件出现乱码的解决方法。分享给大家供大家参考。具体分析如下:
一般来说在php中碰到乱码多半是编码问题,在这里我们实例分析了fgetcsv读取csv文件乱码原因所在与解决方法。
例子如下:
$handle = fopen( $file_target, 'r');
while ($data = fgetcsv($handle, 1000, ",")) {
$num = count($data);
echo "<p> $num fields in line $row: <br>n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c]. "<br>n";;
/*echo getUTFString($data[$c])*/
}
}
fclose($handle);
}
导入的csv文件是以ansi编码保存的,对于中文操作系统环境对应的应该就是gbk编码了,通过手动更改浏览器字符编码为gbk,乱码的情况消失了,于时进行了下面调整。 复制代码 代码如下: $data = eval('return '.iconv('gbk','utf-8',var_export($data,true)).';');
$data为需要转换编码的数组。
补充:LINUX FGETCSV读取GBK数据乱码
当Linux系统是使用的默认设置,则在该Linux服务器上对gbk的csv格式文件进行处理的时候,就会出现乱码现象。
解决方法是:
使用 setlocale 函数设置环境变量。比如要设置使用gb 的区域设置可以在fgetcsv前使用下面的语句。
复制代码 代码如下: setlocale(LC_ALL,array('zh_CN.gbk','zh_CN.gb2312','zh_CN.gb18030'));具体使用哪些locale 可以使用linux 命令 locale -a 查看系统支持哪些
希望本文所述对大家的PHP程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- php使用fgetcsv读取csv文件出现乱码的解决方法
- php使用fgetcsv读取csv文件出现乱码的解决方法
- php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
- php使用fputcsv()函数csv文件读写数据的方法(解决中文乱码问题)
- PHP自带函数fgetcsv读取csv文件中文乱码问题解决办法
- jmeter测试读取 .csv 文件出现第一个字符乱码的解决方法
- php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
- php读取csv文件,在linux上出现中文读取不到的情况 解决方法
- PHP导出CSV文件出现乱码的解决方法
- php读取csv文件,在linux上出现中文读取不到的情况 解决方法
- php导入csv文件以及碰到乱码解决方法
- Java读取UTF-8格式txt文件第一行出现乱码——问号“?”及解决;Java读带有BOM的UTF-8文件乱码原因及解决方法
- Java读取UTF-8格式txt文件第一行出现乱码——问号“?”及解决;Java读带有BOM的UTF-8文件乱码原因及解决方法
- Java读取UTF-8格式txt文件第一行出现乱码——问号“?”及解决;Java读带有BOM的UTF-8文件乱码原因及解决方法
- php导入csv文件碰到乱码问题的解决方法
- 【 D3.js 进阶系列 — 1.2 】 读取 CSV 文件时乱码的解决方法
- Java读取UTF-8格式txt文件第一行出现乱码——问号“?”及解决;Java读带有BOM的UTF-8文件乱码原因及解决方法
- JS读取PHP中设置的中文cookie时出现乱码的解决方法
- fgetcsv 读取csv文件出现问题解决办法
- mysql数据库使用SQLyog 导入中文 csv 文件出现乱码 解决