php导入csv乱码如何解决

本篇内容主要讲解“php导入csv乱码如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php导入csv乱码如何解决”吧!

创新互联建站专注于藁城网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供藁城营销型网站建设,藁城网站制作、藁城网页设计、藁城网站官网定制、小程序定制开发服务,打造藁城网络公司原创品牌,更为您提供藁城网站排名全网营销落地服务。

php导入csv乱码问题的解决办法:1、构造一个解析函数“function tb_str_getcsv($string, $delimiter=',', $enclosure='"') {...}”;2、读取文件到变量;3、通过“substr($s,2)”去掉BOM头即可。

解决php导入淘宝助理csv文件乱码问题及解析

用php导入csv文件很多时候会出现中文乱码的情况,特别是导入淘宝助理数据包,在网上查了很多转码方法,都无法解决问题,这是什么原因呢?

首先,淘宝助理导出的csv文件为UTF-16LE编码,很少见是吧。

其次,它的csv文件并非逗号分隔,而是\t分割。

通过如下代码,即可实现csv文件解析功能

/**
* 构造一个解析函数
* (php内置的str_getcsv不知为何会出现局部乱码,原因不详)
*/
function tb_str_getcsv($string, $delimiter=',', $enclosure='"') {
$fp = fopen('php://temp/', 'r+');
fputs($fp, $string);
rewind($fp);
while($t = fgetcsv($fp, strlen($string), $delimiter, $enclosure)) {
$r[] = $t;
}
if(count($r) ==1) return current($r);
return $r;
}
$s = file_get_contents($path); //读取文件到变量
$s = iconv('UTF-16LE', 'utf-8', substr($s,2));//转码,substr($s,2)的作用是去掉 BOM 头 FFFE
//有的第三方数据包很不规范,控制符没有用空双引号
//可能导致列数不对应,在此加上空双引号
$s = str_replace("\t\t", "\t\"\"\t", $s);
$s = str_replace("\t\t", "\t\"\"\t", $s);
$csv_data = tb_str_getcsv($s, "\t");//读取到数组

PHP开发环境搭建工具有哪些

一、phpStudy,是一个新手入门最常用的开发环境。

二、WampServer,WampServer也同样的也是和phpStudy一样操作简单对小白比较友好。

三、XAMPP,XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件。

四、MAMP,MAMP分为两种MAMP和MAMP Pro for Mac。

五、宝塔面板,宝塔面板是一款服务器管理软件,支持windows和linux系统。

六、UPUPW,UPUPW是目前Windows平台下最具特色的Web服务器PHP套件。

到此,相信大家对“php导入csv乱码如何解决”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


网页标题:php导入csv乱码如何解决
标题来源:http://myzitong.com/article/pgspji.html