[請益] 請問header()函式 中文名稱下載問題

看板PHP作者 (Gmoz)時間18年前 (2007/07/22 10:26), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串1/2 (看更多)
$query = "SELECT * FROM uploads WHERE upload_id = {$_GET['uid']}"; $result = mysql_query($query); mysql_query("SET CHARACTER SET 'utf8'"); //這行試過了ˊˋ $row=mysql_fetch_array($result); $fn=$row['file_name']; $extension = explode('.' , $fn); $the_file='../uploads/'.$_GET['uid'].'.'.$extension[1]; header("Content-disposition:attachment;filename=$fn"); readfile ($the_file); 小弟要做的是個讓人上傳東西,然後可下載的網頁 使用view_files.php傳出uid連到download_fils.php來執行如上的PHP碼 英文檔名沒問題,可正常顯示檔名並且下載 遇到中文檔名時 (把$fn使用echo印出來是正確的原檔名) 但是放到header之後檔名卻出現CA4Z0ZZK.等等的英文字和數字(而且每次點都不一樣) 由於屆時上傳檔案的可能會包含些公家機關, 因此不能上傳中文檔名可能會造成不便 希望各位前輩能幫忙解答,小弟感激不敬 appsev 2.5.5 php5 phpMyAdmin 2.6.4-pl4 MySQL 版本 5.0.16-nt -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.240.177.100 ※ 編輯: gmoz 來自: 210.240.177.100 (07/22 10:36)

07/22 12:21, , 1F
發現問題了 原因是ie6不支援utf8 改成
07/22 12:21, 1F

07/22 12:21, , 2F
mysql_query("SET CHARACTER SET 'big5'");就可以了
07/22 12:21, 2F

07/22 22:24, , 3F
IE6 不支援 utf8...?
07/22 22:24, 3F

07/23 13:04, , 4F
也不是那種不支援的意思 我是指參數傳送過程中
07/23 13:04, 4F
文章代碼(AID): #16ei1Wjj (PHP)
文章代碼(AID): #16ei1Wjj (PHP)