导航:首页 > 编程语言 > 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中文乱码相关的资料

热点内容
iphone用什么app3d扫描 浏览:288
冠生园葱油压缩饼干 浏览:502
Linux库文件安装 浏览:224
解压玩具黑猩猩 浏览:966
单片机中断实验程序注释 浏览:694
安卓手机下什么软件连电脑 浏览:724
最新小电影网站 浏览:784
穿越张学铭系统小说 浏览:268
陈龙跟外国孩子演过的电影 浏览:887
韩国唯美爱情电影 女主角绝症 浏览:415
python经典库 浏览:840
善良小夷子女演员 浏览:973
大奶女电影版 浏览:653
汽车遥控编程器 浏览:784
方舟在服务器如何发全体文字 浏览:346
一部很多女子格斗的电影 浏览:770
外国大胸美女电影推荐 浏览:208
大尺很色床戏电影 浏览:432
郑州阿里程序员 浏览:131
韩国爱情推理片全部复制 浏览:462