当前位置: 首页 > 编程笔记 >

php使用fgetcsv读取csv文件出现乱码的解决方法

尉迟晔
2023-03-14
本文向大家介绍php使用fgetcsv读取csv文件出现乱码的解决方法,包括了php使用fgetcsv读取csv文件出现乱码的解决方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了php使用fgetcsv读取csv文件出现乱码的解决方法。分享给大家供大家参考。具体分析如下:

一般来说在php中碰到乱码多半是编码问题,在这里我们实例分析了fgetcsv读取csv文件乱码原因所在与解决方法。

例子如下:

function get_csv_contents( $file_target ){

 $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程序设计有所帮助。

 类似资料:
  • 本文向大家介绍iOS读取txt文件出现中文乱码的解决方法,包括了iOS读取txt文件出现中文乱码的解决方法的使用技巧和注意事项,需要的朋友参考一下 一、情景描述:  后台给一个txt文件,编码是utf-8,在Mac电脑Xcode开发环境下读取txt文件内容,汉字会出现乱码,英文没有乱码这种情况。  二、尝试解决方法: 修改编码格式,尝试了NSUTF16StringEncoding,NSUTF8St

  • 本文向大家介绍Java读取properties配置文件时,出现中文乱码的解决方法,包括了Java读取properties配置文件时,出现中文乱码的解决方法的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上就是小编为大家带来的Java读取properties配置文件时,出现中文乱码的解决方法全部内容了,希望大家多多支持呐喊教程~

  • 本文向大家介绍PHP读MYSQL中文乱码的快速解决方法,包括了PHP读MYSQL中文乱码的快速解决方法的使用技巧和注意事项,需要的朋友参考一下 打算切换某个网站的主机,没想到遇到Php和Mysql中文乱码的问题。 以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号,乱码一片,记得

  • 本文向大家介绍php读取csv文件并输出的方法,包括了php读取csv文件并输出的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php读取csv文件并输出的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的php程序设计有所帮助。

  • 本文向大家介绍PHP中实现中文字串截取无乱码的解决方法,包括了PHP中实现中文字串截取无乱码的解决方法的使用技巧和注意事项,需要的朋友参考一下 在PHP中,substr()函数截取带有中文字符串的话,可能会出现乱码,这是因为中西文一个字节所占有的字节数不一样,而substr的长度参数是按照字节去算的,在GB2312编码时,一个中文占2个字节,英文为1个字节,而在UTF-8编码当中,一个中文可能占有

  • 本文向大家介绍Python中MYSQLdb出现乱码的解决方法,包括了Python中MYSQLdb出现乱码的解决方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python中MYSQLdb出现乱码的解决方法,分享给大家供大家参考。具体方法如下: 一般来说,在使用mysql最麻烦的问题在于乱码。 查看mysql的编码: 命令:  可以看到如下结果: character_set_client