当前位置:首页 » 编程语言 » php读取csv乱码

php读取csv乱码

发布时间: 2022-12-10 10:43:53

php导出CSV文件中的繁体中文在英文XP下乱码(英文XP中语言已设置)

这个问题应该是你生成csv文件时,字符编码转换导致的, 因为你从数据提取的是gbk的, csv文件可能不支持gbk编码

英文系统下的字体可能不存在, 你用什么查看这个文件的,设置文件查看器的编码

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

//这是我前几天回答过的一个问题下面以读取淘宝csv文件为例
if($result){//如果上传成功了,这是文件路径
if(!($handle=fopen_utf8($result,"r"))===FALSE){//调取下边函数fopen_utf8;
$errorArr=array();
$i=0;
while(($cols=fgetcsv($handle,1000," "))!==FALSE){
++$i;
if($i<4)continue;
$taobaolmsx=$cols[21];//宝贝属性;
$taobaoxxsx=$cols[30];//销售属性;
$goodsBn=$cols[33];//商家编码;

}
fclose($handle);
}

unlink($result);
}else{
echo'fileuploaderror';exit;
}

/*读取csv文件用*/
functionfopen_utf8($filename){
$encoding='';
$handle=fopen($filename,'r');
$bom=fread($handle,2);
rewind($handle);

if($bom===chr(0xff).chr(0xfe)||$bom===chr(0xfe).chr(0xff)){
//UTF16ByteOrderMarkpresent
$encoding='UTF-16';
}else{
$file_sample=fread($handle,1000)+'e';//readfirst1000bytes
//+eisaworkaroundformb_stringbug
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);
}

⑶ PHP导出csv中文乱码

中文简体xp的话默认使用gb2312作为码页,他打开一个文件时使用gb码来映射字符的。用gb2312码打开utf8的文件当然会乱码。

所以想在xp里导出,需要是
mb_convert_encoding($str,"CP936","GB2312")

如果已经下下来了或者php不好改,自己想转码,就是用个编辑器比如ue,ep,设置存储为utf8。xp sp3版本的话自己也可以另存为utf8

⑷ php读取csv文件时 用phpexcel很慢 用fgetcsv()函数中文乱码 请问还有什么excel库或函数方法来读csv文件吗

php从csv文件读取数据并输出到网页的方法

<?php
$fp=fopen('sample.csv','r')ordie("can'topenfile");
print"<table> ";
while($csv_line=fgetcsv($fp)){
print'<tr>';
for($i=0,$j=count($csv_line);$i<$j;$i++){
print'<td>'.htmlentities($csv_line[$i]).'</td>';
}
print"</tr> ";
}
print'</table> ';
fclose($fp)ordie("can'tclosefile");
?>

你可以这样试一试的啊

⑸ csv 文件打开乱码,有哪些方法可以解决

以下步骤可解决csv文件乱码问题:
右键点击csv文档打在右键菜单中打开方式选择记事本。
打开记事本点击文件点击另存为选项。
在编码格式中选择ANSI编码,保存即可。

⑹ thinkphp里面导入csv数据出现乱码怎么破

php读取csv文件,在windows上出现中文读取不到的情况,本人立马想到一个函数mb_convert_encoding();作如下设置 $str = mb_convert_encoding($str, "UTF-8", "GBK");然后就可以了。当然你也可以用iconv();作如下设置iconv(‘GBK’,”UTF-8//TRANSLIT//IGNORE”,$str);这两个函数来解决在windows上面发生乱码的问题。

热点内容
zynqsdk修改编译选项 发布:2025-01-21 09:22:30 浏览:874
存储器部件教学实验 发布:2025-01-21 09:14:06 浏览:178
php安装memcached扩展 发布:2025-01-21 09:07:06 浏览:545
手机缓存视频到电脑上 发布:2025-01-21 09:07:02 浏览:977
如果知道服务器ip有什么风险 发布:2025-01-21 09:06:58 浏览:524
在压缩曲线 发布:2025-01-21 09:05:31 浏览:909
华山算法 发布:2025-01-21 08:44:48 浏览:366
如何在微信上再设置一个密码 发布:2025-01-21 08:44:39 浏览:731
浙江服务器搭建云主机 发布:2025-01-21 08:41:38 浏览:452
光遇和王者荣耀哪个需要的配置高 发布:2025-01-21 08:40:28 浏览:13