问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php导入csv文件输出是乱码,怎么解决

发布网友 发布时间:2022-04-06 03:46

我来回答

1个回答

热心网友 时间:2022-04-06 05:15

 //这是我前几天回答过的一个问题下面以读取淘宝csv文件为例
             if($result){        //如果上传成功了,这是文件路径
                 if (!($handle = fopen_utf8($result, "r")) === FALSE){  //调取下边函数fopen_utf8;
                        $errorArr = array();
                        $i=0;
                       while (($cols = fgetcsv($handle, 1000, "\t")) !== FALSE) {  
                                                  ++$i;
                            if($i<4) continue;
                           $taobaolmsx = $cols[21];//宝贝属性;
                           $taobaoxxsx = $cols[30];//销售属性;
                           $goodsBn = $cols[33];//商家编码;
 
                       }  
                       fclose($handle);                       
                 }
 
                    unlink($result);
                            }else{
                    echo 'file upload error';exit;
            }
 
/*读取csv文件用 */
    function fopen_utf8($filename){  
        $encoding='';  
        $handle = fopen($filename, 'r');  
        $bom = fread($handle, 2);  
        rewind($handle);  
        
        if($bom === chr(0xff).chr(0xfe)  || $bom === chr(0xfe).chr(0xff)){  
                // UTF16 Byte Order Mark present  
                $encoding = 'UTF-16';  
        } else {  
            $file_sample = fread($handle, 1000) + 'e'; //read first 1000 bytes  
            // + e is a workaround for mb_string bug  
            rewind($handle);  
        
            $encoding = mb_detect_encoding($file_sample , 'UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP');  
        }  
        if ($encoding){  
            stream_filter_append($handle, 'convert.iconv.'.$encoding.'/UTF-8');  
        }  
        return  ($handle);  
    }

追问

执行到while (($cols = fgetcsv($handle, 1000, "\t")) !== FALSE)时$cols为false,不晓得是什么情况,代码如图:


请指教~谢谢!!

追答

下载这个文件测试,用我发你的代码,先看能不能成功。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在公交车上实施扒窃,会受到怎样的处罚? 交通违法行为识别 公交车扒窃会如何处罚? 郑州鱼缸清洗找哪家公司做得比较好? 郑州有没有专业维修鱼缸,清洗鱼缸的? ...的鱼缸,放在办公室养些鱼水草之类的。郑州哪里有卖这样的鱼缸。_百... 我们公司想要定做个观赏鱼缸,不知道郑州哪家公司最专业? 谁知道郑州生态鱼缸定做哪家做的效果最好? 联想电脑启用无线功能的功能键? 笔记本电脑怎么连接网笔记本电脑怎样连接无线网 php 如何从数据里选择所需要信息然后生成csv文件自动保存在指定的路径?(不提示保存,自动) PHP导出数据到CSV 如何排版 php 导出csv时如何设置属性,合并单元格之类的。。 PHP操作CSV文件的问题,请教大家! PHP操作CSV文件的编码问题 php导出csv文件大小怎么去除限制 怎样创建/修改CSV文件 CSV怎么批量修改数据,PHP操作 三种办法,1,PHP 如何处理上传的CSV文件 通过IP段限制网页访问PHP代码 同一网段内怎么设置让某一段ip地址不能访问其他ip段? 如何限制某ip段不能访问网站 如何限制php文件只能被服务器本地ip访问 PHP屏蔽指定地区访问 PHP将整数数字转换为罗马数字实例分享 php将int拆分成数组 php怎么将int强行转换字符串类型? 如何在新浪云sae上安装部署laravel5.1应用并测试数据库连接 如何使用Ajax使用jQuery在Laravel 4 laravel 框架中试图中怎样用if标签 php 写入数据到csv中,不覆盖原有数据,以新增行插入如何实现? php标准时间如何转化成时间戳 跪求PHP的时间转换为时间戳的代码 php中文时间转换为时间戳 PHP中如何将时间转化时间戳? php时间格式转换 php 汉字时间转换成时间戳 电脑开机显示oxc000000f错误代码如何解决 win7开机提示0x000000f的原因和解决方法分别是什么? lenovothinkpad出现错误代码0x000000f,然后一直开不了机 电脑出现错误代码0xc000000f 怎么解决? 哦,对了文件名是werkernel.sys epic永劫无间安装不了卡35了 epic安装失败.1603.按照网上的代码方法不行,安装部安卓失败时,会把客户端给删掉怎么解决? epic白屏该怎么办,重启重安装都没用 如何利用PHP时间戳获取当前时间 PHP怎么实现整除 PHP计算百分比的公式函数,如何把数值装进计算 php 数组 除法 php超大数除法计算。 在php中怎么用函数实现 输出1-100 中的质数(素数,只能被1和本身整除的数)