当前位置:首页 > 数字化与技术

PHP用fopen打开csv文件fgetcsv读取中文乱码解决思路

文玑阁5年前 (2021-04-22)数字化与技术19050

一般情况下,我们php编码都是utf-8,但是程序读取csv的时候,经常出现中文乱码。

网上出现了很多方法,其实大部分都是天下文章一起抄,有没有试过不知道,反正我试了大半天。

第一种:用iconv函数转换的。

$fh=fopen("upload/loaddatatest.csv","r");
while ($line=fgetcsv($fh,1000,",")){
    $Name=$line[0];
$Name=iconv('gb2312','utf-8',$line[0]);    //涉及中文的才要转换,乾元轩注,或者配合iconv(‘GBK',”UTF-8//TRANSLIT//IGNORE”,$str);
echo $Name;
$Age=$line[1];
$Phone=$line[2];
$query="INSERT INTO one (name,age,phone) VALUES ('$Name','$Age','$Phone')";
mysql_query($query,$con);
}

我测试,结果失败。

继续找方案,

第二种:

header("Content-Type: application/force-download");
header("Content-type:text/csv;charset=gb2312");
header("Content-Disposition:filename=打开邮件导出".date("YmdHis").".csv");
echo chr(0xEF).chr(0xBB).chr(0xBF);          //直接字符转换
echo "收件人邮箱,收件人姓名,发送时间\r";
ob_end_flush();
foreach($list as $rs)
{
   echo $rs->toemail.",".$rs->name.",".date('Y-m-d H:i:s',$rs->addtime)."\r";
   flush();
}
exit;

我测试,还是失败。

第三种方案:

去修改php.ini文件的编码,放弃。

第四种方案:

<?php
    *//读取csv文件的代码略,可见第一种方法的代码片段
     $output = mb_convert_encoding($mycsvfile[$trow][10], "UTF-8", "GBK");
     echo $output;
 ?>

读取文件后,用mb_convert_encoding函数解决。这个方法对我的问题有效。

可能方法都是有效的,不过看具体情况。总之就是要转码,科学转码,合理上网。

分享给朋友:

相关文章

要正确设置网站robots.txt文件啊

要正确设置网站robots.txt文件啊

在谷歌搜索框里输入site:www.imwen.com,然后翻到最后面看,却不想此刻我惊呆了,因为整页的搜索结果都是You are not login, Exiting...,这是搜索引擎没有登录网站…

乾元轩新域名终于拿到工信部备案号了

乾元轩新域名终于拿到工信部备案号了

互联网在中国当然必须具有中国特色,而备案就是中国特色之一,没有工信部的备案号当然就如红旗上少了一颗星星一样,不靠谱,这个imwen.com已经注册半年了,从注册时起,就委托空间商备案客服帮忙备案了…

linux系统root密码忘记修改办法

linux系统root密码忘记修改办法

linux系统Root密码忘了怎么办?解决办法(图解请下载附件) Root密码忘了就这么办!这个方法菜鸟实践证明可行!1.在开机启动的时候能看到这个引导目录(3秒将进入默认),用上下方向键选择你要进入…

zblog2.1首页title标题显示顺序调整

zblog2.1首页title标题显示顺序调整

ZBLOG升级为Z-Blog 2.1 Phoenix Build 130128之后,对模板进行了优化,所有展示网页的head部分都集成到一个文件里,详见根目录\zb_users\THEME\主题包\T…

靠谱助手 BlueStacks安卓模拟器使用说明程序下载

注意:本文提供安卓模拟器BlueStacks和靠谱助手的使用介绍和程序下载,需要的话,请继续往下文看。BlueStacks安卓模拟器下载地址:http://pan.baidu.com/s/1pJ8u4…

App用户流失真相,如何避免APP用户流失

随着App数量的增多和应用商店入口的集中,当下单个App在获取用户的难度越来越大,同时,在获得用户的成本上也越来越高,比如曾经一个APP通过市场首发能获得大量用户的机会下,现在首发获取的用户数量也是一…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。