导航:首页 > 编程语言 > php读取csv中文乱码

php读取csv中文乱码

发布时间:2022-10-01 10:45:35

‘壹’ php导出csv中文乱码

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

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

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

‘贰’ 如何解决 php 用 fgetcsv 读取 csv 中文字符为乱码的问题

setlocale(LC_ALL, 'zh_CN');

‘叁’ csv 文件中,打开发现汉字显示为乱码,如何解决

CSV是一种表格文件,但是它的编码方式默认是ANSI,所以有些旧版本的EXCEL打开时中文就会显示乱码。

工具:office excel

步骤

‘肆’ 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文件时 用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");
?>

你可以这样试一试的啊

‘陆’ 如何解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题

在你要输出的内容前先输出"\xEF\xBB\xBF",例如:你要输出的内容保存在$content里
$content = "\xEF\xBB\xBF".$content; //添加BOM
确保输出$content前没有任何其他东西输出。
何为BOM,它是Windows用来标记文本文件的编码方式的,你可以在网上查查相关BOM资料。

‘柒’ phpmyadmin 导入 cvs文件,出现中文乱码,如何解决

有可能是字符集不同,注意转字符。csv的字集有可能是gb2312,而数据库的字符集可能是utf-8。还有就是PHP程序代码本身的字符集也要留意。输出网页的字符集。最好全部统一为utf-8。导入数据之前可以通过编辑器转码,保存为UTF-8编码的csv文件。(大部份编辑器都有这样的功能),如 EditPlus 。如果通过PHP导入的,也可以用PHP的iconv来转码。

‘捌’ php fputcsv 写入csv文件之前使用iconv将utf-8字符集转换为unicode,打开文件乱码。那说明转换失败

你需要确定转换编码前的字符编码,如果不是utf-8也会出现乱码

‘玖’ 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上面发生乱码的问题。

‘拾’ php的fopen打开csv文件,文字乱码

将PHP文件改为ANSI格式:

<?php
header("content-type:text/html;charset=utf-8");
$str=file_get_contents('肖尧.vcf');
echo$str;

阅读全文

与php读取csv中文乱码相关的资料

热点内容
程序员东北大学 浏览:426
编译忽略空字符 浏览:117
多店铺阿里云服务器教程 浏览:378
单片机求初值 浏览:420
安卓机如何在电脑备份图片 浏览:925
ca证书加密机价格 浏览:798
天干地支年份算法 浏览:796
程序员打造的视频 浏览:7
java和php通信 浏览:680
为什么黑程序员 浏览:163
程序员男生 浏览:456
戴尔文件夹内文件怎么置顶 浏览:582
云服务器6m网速 浏览:722
vivo手机中国联通服务器地址 浏览:862
工程总控编译失败 浏览:707
燕赵红枫app如何下载 浏览:867
php查杀软件 浏览:878
教育管理学pdf 浏览:547
服务器均衡怎么使用 浏览:626
linux中jps 浏览:954