導航:首頁 > 編程語言 > php讀取文件名亂碼

php讀取文件名亂碼

發布時間:2022-08-09 05:07:12

php讀取文件顯示亂碼

是資料庫編碼問題
在建資料庫時用 utf8 字元集
在網頁中讀取時,要在查詢之前運行這個
mysql_query("set names 'gb2312'");

㈡ php讀取csv文件怎麼是亂碼

出現亂碼解決辦法:

csv格式不是utf的,所以在讀取和寫入mysql的時候就會出現亂碼,用iconv函數轉換下即可。
$Name=iconv('gb2312','utf-8',$file);

㈢ PHP讀取中文名稱文件亂碼,所以未能讀取出文件內容

編程語言大多不支持中文名字,建議改成英文的名字,如果你覺得不能所有文件都是英文的話,我告訴你一個辦法,上傳的時候對文件重新命名,通常以時間戳來命名。同時把原來的文件名讀取一個寫到資料庫做備注。資料庫有兩個欄位是放文件名的,一個是中文備注也就是原來的中文名。第二個是修改之後的文件名。

㈣ 如何在PHP下載文件名中解決亂碼

那麼用Content-Disposition設置下載的文件名,這個也有不少人知道吧。基本上,下載程序都是這么寫的: <?php $filename = "document.txt"; header(Content-Type: application/octet-stream); header(Content-Disposition: attachment; filename= . $filename); print "Hello!"; >這樣用瀏覽器打開之後,就可以下載document.txt。但是,如果$filename是UTF-8編碼的,有些瀏覽器就無法正常處理了。比如把上面那個程序稍稍改一下: <?php $filename = "中文 文件名.txt"; header(Content-Type: application/octet-stream); header(Content-Disposition: attachment; filename= . $filename); print "Hello!"; >把程序保存成UTF-8編碼再訪問,IE6下載的文件名就會亂碼。 FF3下下載的文件名就只有「中文」兩個字。Opera 9下一切正常。輸出的header實際上是這樣子: Content-Disposition: attachment; filename=中文 文件名.txt其實按照RFC2231的定義,多語言編碼的Content-Disposition應該這么定義: Content-Disposition: attachment; filename*="utf8%E4%B8%AD%E6%96%87%20%E6%96%87%E4%BB%B6%E5%90%8D.txt"即:filename後面的等號之前要加 *filename的值用單引號分成三段,分別是字元集(utf8)、語言(空)和urlencode過的文件名。最好加上雙引號,否則文件名中空格後面的部分在Firefox中顯示不出來注意urlencode的結果與php的urlencode函數結果不太相同,php的urlencode會把空格替換成+,而這里需要替換成%20經過試驗,發現幾種主流瀏覽器的支持情況如下:IE6attachment; filename="<URL編碼之後的UTF-8文件名>"FF3attachment; filename="UTF-8文件名"attachment; filename*="utf8<URL編碼之後的UTF-8文件名>"O9attachment; filename="UTF-8文件名"Safari3(Win)貌似不支持?上述方法都不行這樣看來,程序必須得這樣寫才能支持所有主流瀏覽器: <?

㈤ php遍歷到的文件是中文文件名 顯示為亂碼 該如何解決

window是用的GB2312的編碼,你的php文件應該用的是UTF-8,所以正如你寫的那樣,先要轉換編碼$dir=iconv("utf-8","gb2312",$dir);

但你別忘了,你用的是UTF-8的編碼,所以你第六行寫錯了,把GB2312轉換為UTF-8搞倒了吧

<?php
functionrefresh($dir){
$dir=iconv("utf-8","gb2312",$dir);
if($headle=opendir($dir)){
while($file=readdir($headle)){
$file=iconv("gb2312","utf-8",$file);
if($file!='.'&&$file!='..'){
echo"文件".$file."在文件夾".$dir."下<br/>";
}
}
closedir($headle);
}
}
refresh("D:/AppServ/www/test");
?>

㈥ PHP讀取文件亂碼問題

1.fgetc($fp) 取得是單位元組的,中文可能的根據編碼可能有2 3 4位元組,所以不管怎麼輸出肯定都會是亂碼。
解決方法
1.修改php文件的編碼為utf-8, 只有這樣保存到test.txt文件里的文件才會是utf-8 大部分中文就都是按照3個位元組
2.$fp=fopen($filename,"r");
while(($char=fread($fp,3))!==''){
printf("%d.%s",ftell($fp)/3,$char);
}

㈦ php讀文本文件讀出來的內容是亂碼怎麼辦

看看你PHP文件是什麼編碼,然後用記事本打你的PHP文件,另存為
選擇編碼類型覆蓋。
或者用把讀出來的字元串轉碼。

㈧ php文件打開亂碼

PHP文件打開亂碼,大致原因有以下兩點:
文件編碼與編輯器默認編碼不一致,會導致亂碼;建議修改文件編碼格式即可:

文件被加密,也會導致文件亂碼;需要解密才能查看源碼

㈨ 高手幫我解決下PHP讀取Excel文件亂碼的問題

不能使用readfile顯示XLS文件,這樣肯定是亂碼。

PHP中顯示EXCEL需要使用一些插件,或者使用COM打開EXCEL進程。更簡單的辦法是在EXCEL裡面另存為,選擇網頁格式,這樣的文件可以直接在網頁顯示。

㈩ php讀取txt文本輸出時亂碼如何解決

$text = file_get_contents($filePath);
//$encodType = mb_detect_encoding($text);
define('UTF32_BIG_ENDIAN_BOM', chr(0x00) . chr(0x00) . chr(0xFE) . chr(0xFF));
define('UTF32_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE) . chr(0x00) . chr(0x00));
define('UTF16_BIG_ENDIAN_BOM', chr(0xFE) . chr(0xFF));
define('UTF16_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE));
define('UTF8_BOM', chr(0xEF) . chr(0xBB) . chr(0xBF));
$first2 = substr($text, 0, 2);
$first3 = substr($text, 0, 3);
$first4 = substr($text, 0, 3);
$encodType = "";
if ($first3 == UTF8_BOM)
$encodType = 'UTF-8 BOM';
else if ($first4 == UTF32_BIG_ENDIAN_BOM)
$encodType = 'UTF-32BE';
else if ($first4 == UTF32_LITTLE_ENDIAN_BOM)
$encodType = 'UTF-32LE';
else if ($first2 == UTF16_BIG_ENDIAN_BOM)
$encodType = 'UTF-16BE';
else if ($first2 == UTF16_LITTLE_ENDIAN_BOM)
$encodType = 'UTF-16LE';

//下面的判斷主要還是判斷ANSI編碼的·
if ($encodType == '') {//即默認創建的txt文本-ANSI編碼的
$content = iconv("GBK", "UTF-8", $text);
} else if ($encodType == 'UTF-8 BOM') {//本來就是UTF-8不用轉換
$content = $text;
} else {//其他的格式都轉化為UTF-8就可以了
$content = iconv($encodType, "UTF-8", $text);
}

閱讀全文

與php讀取文件名亂碼相關的資料

熱點內容
迷你世界出編程軟體了 瀏覽:673
res文件夾有哪些 瀏覽:142
交通信號燈單片機課程設計 瀏覽:826
如何測試流媒體伺服器的並發能力 瀏覽:161
溯源碼有分國家認證的嗎 瀏覽:218
如何通過app查詢產檢報告 瀏覽:944
拉結爾安卓手機怎麼用 瀏覽:695
驅動級進程代理源碼 瀏覽:782
androidshape畫線 瀏覽:511
程序員想辭職被拒絕 瀏覽:101
java面試邏輯 瀏覽:749
如何下載全英文app 瀏覽:724
js函數式編程指南 瀏覽:380
為什麼安卓手機相機啟動會卡 瀏覽:341
python中t是什麼意思 瀏覽:765
移動硬碟內存加密 瀏覽:407
單片機測角度 瀏覽:864
URL伺服器地址怎麼填 瀏覽:438
壓縮餅干會導致血糖高嗎 瀏覽:569
cad中xc命令怎麼用 瀏覽:424