phpcsv乱码
1. php的fopen打开csv文件,文字乱码
将PHP文件改为ANSI格式:
<?php
header("content-type:text/html;charset=utf-8");
$str=file_get_contents('肖尧.vcf');
echo$str;
2. php csv文件和excel文件的区别
其实最大的一个区别,PHP中有自带的csv函数,可以直接拿来使用,而Excel文件需要重新写入。你这个问题我之前测试过一个大数据,股票数据文件,股票数据文件用csv来保存的,将csv文件的数据直接保存在数据库里很便捷。而excel文件保存的时候,会出现乱码的问题,总之,文本文件和二进制文件保存方式是有区别的。建议在项目用csv文件格式进行导入导出数据。
3. PHP导出csv中文乱码
中文简体xp的话默认使用gb2312作为码页,他打开一个文件时使用gb码来映射字符的。用gb2312码打开utf8的文件当然会乱码。
所以想在xp里导出,需要是
mb_convert_encoding($str,"CP936","GB2312")
如果已经下下来了或者php不好改,自己想转码,就是用个编辑器比如ue,ep,设置存储为utf8。xp sp3版本的话自己也可以另存为utf8
4. 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");
?>
你可以这样试一试的啊
5. php fputcsv 写入csv文件之前使用iconv将utf-8字符集转换为unicode,打开文件乱码。那说明转换失败
你需要确定转换编码前的字符编码,如果不是utf-8也会出现乱码
6. 高手帮我解决下PHP读取Excel文件乱码的问题
不能使用readfile显示XLS文件,这样肯定是乱码。
PHP中显示EXCEL需要使用一些插件,或者使用COM打开EXCEL进程。更简单的办法是在EXCEL里面另存为,选择网页格式,这样的文件可以直接在网页显示。
7. 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);
}
8. php 数据库 导出excel 的时候 导出成功 但是却是乱码 请问怎么解决
你指定的PHPExcel生成的是xls格式的文件。是一种电子表格格式,这种格式一般是用excel打开处理的。直接用文本方式显示就是乱码的。但为什么是直接输出这些乱而不是下载呢?是因为你没有给输出指定头信息告诉浏览器输出的内容不是直接显示而是供下载的,浏览器所以浏览器也不懂,它只好老老实实给输出来。你试着在上面那段代码前加上如下内容:
header("Cache-Control: public");
header("Pragma: public");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type:application/download");
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=你自己指定或生成文件名.xls");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
9. PHP导入csv文件乱码问题
字符编码的问题!
你再phpmyadmin中导入时,可以选择字符集,试试将 utf8 换成 gb2312
也许就好了。
10. 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上面发生乱码的问题。