AD

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

这篇文章主要介绍了php使用fgetcsv读取csv文件出现乱码的解决方法,实例分析了造成乱码的原因与对应的解决方法,并给出了Linux平台下的乱码解决方法,需要的朋友可以参考下

本文实例讲述了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技巧
时间: 2013-10-28

相关文章

  1. php导入csv文件碰到乱码问题的解决方法

    这篇文章主要介绍了php导入csv文件碰到乱码问题的解决方法,需要的朋友可以参考下 今天主要是想写一个php导入csv文件的方法,其实网上一搜一大把.都是可以实现怎么去导入的.但是我导入的时候遇到了两个问题,一个是在wi ...
  2. php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法

    以下是对php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法进行了详细的分析介绍,需要的朋友可以过来参考下 date.csv:"ID" "NAME" &quo ...
  3. php读取csv文件并输出的方法

    这篇文章主要介绍了php读取csv文件并输出的方法,涉及php中fgetcsv函数的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了php读取csv文件并输出的方法.分享给大家供大家参考.具体实现方法 ...
  4. 基于PHP读取csv文件内容的详解

    本篇文章是对PHP读取csv文件的内容进行了详细的分析介绍,需要的朋友参考下 一次性读取csv文件内所有行的数据 <?php $file = fopen('windows_2011_s.csv','r'); whi ...
  5. PHP读取csv文件内容的方法详解

    PHP读取csv文件的内容的方法. 一次性读取csv文件内所有行的数据 <?php $file = fopen('windows_2011_s.csv','r'); while ($data = fgetcsv($ ...
  6. java读取csv文件内容示例代码

    这篇文章主要介绍了java读取csv文件内容的示例,大家参考使用 package com.huateng.readcsv; import java.io.BufferedReader; import java.io.Fi ...
  7. java读取csv文件示例分享(java解析csv文件)

    这篇文章主要介绍了java读取csv文件示例,这个java解析csv文件的例子很简单,下面直接上代码,大家参考使用吧 import java.io.*; import java.util.*; public class ...
  8. c语言读取csv文件和c++读取csv文件示例分享

    这篇文章主要介绍了c语言读取csv文件和c++读取csv文件示例,需要的朋友可以参考下 C读取csv文件 #include <stdio.h> #include <string.h> char * ...
  9. java生成csv文件乱码的解决方法示例 java导出csv乱码

    这篇文章主要介绍了java生成csv文件乱码的解决方法,大家可以直接看下面的示例 import java.io.File; import java.io.IOException; import java.util.Lis ...
  10. js读取csv文件并使用json显示出来

    这篇文章主要介绍了js读取csv文件并使用json显示出来,需要的朋友可以参考下 摘要: 前面分享了用js将json数据下载为csv文件,方便后期管理.但是对于测试人员更希望能够以页面的形式展现任务,所以就做了一个将cs ...
  11. java读取csv文件和写csv示例分享

    这篇文章主要介绍了JAVA对CSV格式文本数据处理后再保存成新CSV格式文本的模板,可以学习到java读取csv文件和写csv的方法,需要的朋友可以参考下 import java.io.BufferedReader; i ...
  12. go语言读取csv文件并输出的方法

    这篇文章主要介绍了go语言读取csv文件并输出的方法,实例分析了go语言操作csv文件的技巧,需要的朋友可以参考下 本文实例讲述了go语言读取csv文件并输出的方法.分享给大家供大家参考.具体实现方法如下: packag ...
  13. python读取csv文件示例(python操作csv)

    这篇文章主要介绍了python读取csv文件示例,这个示例简单说明了一下python操作csv的方法,需要的朋友可以参考下 import csv for line in open("test.csv" ...
  14. php读取csv数据保存到数组的方法

    这篇文章主要介绍了php读取csv数据保存到数组的方法,通过封装的类文件实现这一功能,是对csv文件操作的实用技巧,需要的朋友可以参考下 本文实例讲述了php读取csv数据保存到数组的方法.分享给大家供大家参考.具体分析 ...
  15. php上传文件中文文件名乱码的解决方法

    想必很多朋友在进行utf8编码的php开发上传功能的时候,都会遇到这样的一个问题,就是上传中文文件名的文件时,文件名会变成乱码,其实我们可以用iconv函数对文件名进行重新编码就解决问题了 可能会有不少朋友碰到一些问题就 ...
  16. python操作mysql中文显示乱码的解决方法

    这篇文章主要介绍了python操作mysql中文显示乱码的解决方法,是Python数据库程序设计中经常会遇到的问题,非常具有实用价值,需要的朋友可以参考下 本文实例展示了一个脚本python用来转化表配置数据xml并生成 ...
  17. ThinkPHP打开验证码页面显示乱码的解决方法

    这篇文章主要介绍了ThinkPHP打开验证码页面显示乱码的解决方法,通过头部添加自定义文件验证目录并过滤BOM头来实现该功能,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了ThinkPHP打开验证码页面显示乱码的 ...
  18. oracle中文乱码的解决方法

    这篇文章主要介绍了oracle中文乱码的解决方法,服务器系统是linux,支持中文显示,数据库字符集是zhs16gbk,往数据库里建表,插入中文数据,sqlplus 连接到数据库,中文显示乱码,需要的朋友可以参考下 解决 ...
  19. escape编码与unescape解码汉字出现乱码的解决方法

    这篇文章主要介绍了escape编码与unescape解码汉字出现乱码的解决方法,需要的朋友可以参考下 今天的项目中遇到需要用javascript的escape编码汉字再用unescape解码的情况,测试代码段的时候出现了 ...