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上面發生亂碼的問題。