‘壹’ 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
步骤
准备一个有乱码的CSV文件用于演示。
‘肆’ 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;