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


Posted in PHP onNovember 08, 2014

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
PHP 常见郁闷问题答解
Nov 25 PHP
php cookies中删除的一般赋值方法
May 07 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
Jun 18 PHP
使用dump函数,给php加断点测试
Jun 25 PHP
使用php的HTTP请求的库Requests实现美女图片墙
Feb 22 PHP
php从给定url获取文件扩展名的方法
Mar 14 PHP
Zend Framework动作助手Url用法详解
Mar 05 PHP
php实现图片按比例截取的方法
Feb 06 PHP
详解PHP序列化和反序列化原理
Jan 15 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
详细对比php中类继承和接口继承
Oct 11 PHP
laravel与thinkphp之间的区别与优缺点
Mar 02 PHP
php中file_get_contents与curl性能比较分析
Nov 08 #PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
Nov 08 #PHP
PHP中使用循环实现的金字塔图形
Nov 08 #PHP
php调用新浪短链接API的方法
Nov 08 #PHP
php禁止浏览器使用缓存页面的方法
Nov 07 #PHP
php实现把url转换迅雷thunder资源下载地址的方法
Nov 07 #PHP
php采用file_get_contents代替使用curl实例
Nov 07 #PHP
You might like
最令PHP初学者头痛的十四个问题
2006/07/12 PHP
Smarty安装配置方法
2008/04/10 PHP
php fckeditor 调用的函数
2009/06/21 PHP
ajax php传递和接收变量实现思路及代码
2012/12/19 PHP
PHP实现执行外部程序的方法详解
2017/08/17 PHP
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
jquery获取复选框被选中的值
2014/04/10 Javascript
js简单抽奖代码
2015/01/16 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
2015/09/17 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
vue.js获得当前元素的文字信息方法
2018/03/09 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
React实现全选功能
2020/08/25 Javascript
Python中os和shutil模块实用方法集锦
2014/05/13 Python
Python2.x版本中基本的中文编码问题解决
2015/10/12 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
2019/06/13 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
2019/08/13 Python
tensorflow实现对张量数据的切片操作方式
2020/01/19 Python
Python实现动态循环输出文字功能
2020/05/07 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
波兰快递服务:Globkurier.pl
2019/11/08 全球购物
解释一下ruby中的特殊方法与特殊类
2013/02/26 面试题
董事长职责范文
2013/11/08 职场文书
缓刑人员的思想汇报
2014/01/11 职场文书
自动化专业职业生涯规划书范文
2014/01/16 职场文书
网上开店必备创业计划书
2014/01/26 职场文书
三年级数学教学反思
2014/01/31 职场文书
小学一年级学生评语
2014/04/22 职场文书
教室标语大全
2014/06/21 职场文书
巾帼文明岗汇报材料
2014/12/24 职场文书
2015大学生党员自我评价范文
2015/03/03 职场文书
装修公司管理制度
2015/08/05 职场文书
参加招聘会后的感想
2015/08/10 职场文书
Python操作CSV格式文件的方法大全
2021/07/15 Python