Linux fgetcsv取得的数组元素为空字符串的解决方法


Posted in PHP onNovember 25, 2011

但服务器上,很多使用Linux服务器,源程序使用UTF-8,这样很容易产生字符编码的问题.

如果仅仅将CSV文件转码为UTF-8,这样在Windows服务器上没有问题,

而在RedHat5.5上,用fgetcsv取得的数组中,如果某列的内容是中文,则该列对应的数组元素为空字符串,而英文则正常.

这时,需要设置区域:

setlocale(LC_ALL, 'zh_CN.UTF-8');
代码如下

// 上传的CSV文件,通常是用Excel编辑的GBK编码, 
// 而源代码是UTF-8,需要进行转码处理 
file_put_contents($new_file, iconv('GBK', 'UTF-8', file_get_contents($new_file))); //ini_set('auto_detect_line_endings', true); 
// 设置区域:简体中文,UTF-8编码 
setlocale(LC_ALL, 'zh_CN.UTF-8'); 
// 打开CSV文件 
$handle = fopen($new_file, 'r'); 
// 取出列头 
$data_heads = fgetcsv($handle);
PHP 相关文章推荐
PHP 文件上传进度条的两种实现方法的代码
Nov 25 PHP
PHP伪造referer实例代码
Sep 20 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
Dec 14 PHP
Linux环境下搭建php开发环境的操作步骤
Jun 17 PHP
解析zend studio中直接导入svn中的项目的方法步骤
Jun 21 PHP
利用PHP实现短域名互转
Jul 05 PHP
php分页代码学习示例分享
Feb 20 PHP
php根据年月获取季度的方法
Mar 31 PHP
PHP将进程作为守护进程的方法
Mar 19 PHP
PHP Reflection API详解
May 12 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
Jul 21 PHP
php7 新增功能实例总结
May 25 PHP
php 团购折扣计算公式
Nov 24 #PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
Nov 23 #PHP
打造超酷的PHP数据饼图效果实现代码
Nov 23 #PHP
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
Nov 21 #PHP
一个PHP的QRcode类与大家分享
Nov 13 #PHP
PHP提取字符串中的图片地址[正则表达式]
Nov 12 #PHP
PHP学习散记_编码(json_encode 中文不显示)
Nov 10 #PHP
You might like
深入理解PHP之require/include顺序 推荐
2011/01/02 PHP
PHP高自定义性安全验证码代码
2011/11/27 PHP
PHP与javascript实现变量交互的示例代码
2013/07/23 PHP
PHP检测移动设备类mobile detection使用实例
2014/04/14 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
php递归删除指定文件夹的方法小结
2015/04/20 PHP
PHP CURL 多线程操作代码实例
2015/05/13 PHP
javascript 验证日期的函数
2010/03/18 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
2013/12/03 Javascript
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
jQuery结合CSS制作动态的下拉菜单
2015/10/27 Javascript
jquery使用Cookie和JSON记录用户最近浏览历史
2016/04/19 Javascript
JS实现重新加载当前页面
2016/11/29 Javascript
JS使用正则截取两个字符串之间的字符串实现方法详解
2017/01/06 Javascript
javascript表达式和运算符详解
2017/02/07 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
2017/03/09 Javascript
ES5 ES6中Array对象去除重复项的方法总结
2017/04/27 Javascript
vue两个组件间值的传递或修改方式
2018/07/04 Javascript
[01:28:31]《加油DOTA》真人秀 第五期
2014/09/01 DOTA
使用Python编写爬虫的基本模块及框架使用指南
2016/01/20 Python
全面了解python字符串和字典
2016/07/07 Python
unittest+coverage单元测试代码覆盖操作实例详解
2018/04/04 Python
Python面向对象之反射/自省机制实例分析
2018/08/24 Python
解决Mac下使用python的坑
2019/08/13 Python
如何教少儿学习Python编程
2020/07/10 Python
python使用建议技巧分享(三)
2020/08/18 Python
一篇文章搞懂python的转义字符及用法
2020/09/03 Python
HTML5 新表单类型示例代码
2018/03/20 HTML / CSS
Pottery Barn阿联酋:购买家具、家居装饰及更多
2019/12/08 全球购物
大学生简短的自我评价
2014/09/12 职场文书
2014年计生协会工作总结
2014/11/21 职场文书
冰峪沟导游词
2015/02/09 职场文书
住房公积金贷款工资证明
2015/06/12 职场文书
适合青年人白手起家的创业项目分享
2019/08/16 职场文书
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python