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 相关文章推荐
超级实用的7个PHP代码片段分享
Jan 05 PHP
php curl模拟post提交数据示例
Dec 31 PHP
php中文验证码实现示例分享
Jan 12 PHP
PHP判断远程图片是否存在的几种方法
May 04 PHP
PHP exif扩展方法开启详解
Jul 28 PHP
php命令行用法入门实例教程
Oct 27 PHP
PHP原生函数一定好吗?
Dec 08 PHP
利用PHPStorm如何开发Laravel应用详解
Aug 30 PHP
PHP实现求两个字符串最长公共子串的方法示例
Nov 17 PHP
PHPTree――php快速生成无限级分类
Mar 30 PHP
PHP如何根据文件头检测文件类型实例代码
Oct 14 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
Jun 14 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类与对象中的private访问控制的疑问
2012/11/01 PHP
PHP常量define和const的区别详解
2019/05/18 PHP
用js重建星际争霸
2006/12/22 Javascript
Microsoft Ajax Minifier 压缩javascript的方法
2010/03/05 Javascript
json实现前后台的相互传值详解
2015/01/05 Javascript
jQuery子属性过滤选择器用法分析
2015/02/10 Javascript
JavaScript下的时间格式处理函数Date.prototype.format
2016/01/27 Javascript
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
微信小程序 中wx.chooseAddress(OBJECT)实例详解
2017/03/31 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
2017/04/03 jQuery
详解RequireJS按需加载样式文件
2017/04/12 Javascript
AngularJS实现controller控制器间共享数据的方法示例
2017/10/30 Javascript
10分钟上手vue-cli 3.0 入门介绍
2018/04/04 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
2019/07/19 Javascript
jQuery操作选中select下拉框的值代码实例
2020/02/07 jQuery
js实现抽奖功能
2020/11/24 Javascript
在Python的web框架中编写创建日志的程序的教程
2015/04/30 Python
Python_LDA实现方法详解
2017/10/25 Python
Python内置函数—vars的具体使用方法
2017/12/04 Python
python使用Matplotlib画条形图
2020/03/25 Python
python 实现分页显示从es中获取的数据方法
2018/12/26 Python
Python爬取爱奇艺电影信息代码实例
2019/11/26 Python
简单了解python装饰器原理及使用方法
2019/12/18 Python
python实现四人制扑克牌游戏
2020/04/22 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
手工制作的意大利皮革运动鞋:KOIO
2020/01/05 全球购物
shell变量的作用空间是什么
2013/08/17 面试题
法律专业推荐信范文
2013/11/29 职场文书
你懂得怎么写自荐信吗?
2013/12/27 职场文书
单位委托书范本
2014/04/04 职场文书
建筑施工安全生产责任书
2014/07/22 职场文书
2015年幼儿园保育员工作总结
2015/04/23 职场文书
结婚仪式主持词
2015/06/29 职场文书
关于元旦的广播稿2016
2015/12/17 职场文书
2016幼儿教师自荐信范文
2016/01/28 职场文书