Linuxfgetcsv取得的数组元素为空字符串的解决方法
2023-06-13 09:14:31 时间
但服务器上,很多使用Linux服务器,源程序使用UTF-8,这样很容易产生字符编码的问题.
如果仅仅将CSV文件转码为UTF-8,这样在Windows服务器上没有问题,
而在RedHat5.5上,用fgetcsv取得的数组中,如果某列的内容是中文,则该列对应的数组元素为空字符串,而英文则正常.
这时,需要设置区域:
setlocale(LC_ALL,"zh_CN.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);
相关文章
- java数组的声明_Java数组定义常用方法[通俗易懂]
- java输出数组的方法_java怎样输出数组中的所有元素
- 域名解析不生效的原因和排查方法
- vue改写数组方法_vue数组添加和删除
- C#中泛型类和扩展方法如何使用案例分享
- ES6常用数组方法总结(max,contant,some,every,filter,reduce,forEach,map)
- 【Linux C语言编程】4种方法将bin文件生成C语言格式的头文件数组
- javaScript数组方法
- call、apply、bind 改变this方法总结
- 【Android NDK 开发】JNI 方法解析 ( 字符串数组参数传递 | 字符串遍历 | 类型强转 | Java 字符串与 C 字符串转换 | 字符串释放 )
- 【Groovy】Groovy 方法调用 ( 字符串切割 | 使用 Java 语法切割字符串 | 使用 Groovy 语法切割字符串直接为变量赋值 | 数组赋值给变量 变量个数小于等于数组长度 )
- SQL语句计算两个日期之间有多少个工作日的方法
- mongodb实现数组对象求和方法实例
- ajax提交post请求出现数组被截断情况的解决方法详解编程语言
- MySQL封装让开发更简单更有效率(c mysql封装的方法)
- Oracle存储过程传递多个参数的实现方法(oracle传多个参数)
- jQuery数组处理方法汇总
- chrome原生方法之数组
- 求数组中最长递增子序列的解决方法
- PHP中数组定义的几种方法
- SQLServer2000“设备激活错误”的解决方法
- js为空或不是对象问题的快速解决方法
- 以JSON形式将JS中Array对象数组传至后台的方法
- JavaScript数组深拷贝和浅拷贝的两种方法