[請益] 檔案上傳後要引用時的中文編碼問題

看板PHP作者時間17年前 (2008/12/08 05:43), 編輯推噓2(2013)
留言15則, 3人參與, 最新討論串1/1
做了一個圖片上傳,然後在頁面中以<img src="">標籤引入顯示 但是一遇到中文就出錯,檢查過,傳上去的會是中文沒問題, 例如傳上去的是 "賀.jpg" 主機ftp顯示的檔案名稱就是 "賀.jpg" 但是如果我直接連結http://..../賀.jpg 連不到圖 用網頁瀏覽資料夾找到這個圖,點下去OK, 但是顯示出來的連結是http://.../%b6P.jpg
"睡" 會變成 "%ba%ce" "不能嗎" 會變成 "%a4%a3%af%e0%b6%dc" 因為我本身php全部都是utf-8編碼 以為是主機本身編碼問題,試了iconv 跟 urlencode big5 utf-8 ISO-8859-1 都未果,找不出一樣的編碼結果,束手無策了 想請問經驗豐富的前輩們,是否看得出來這是什麼編碼? 該怎麼解決這問題...(另,主機不歸我管就是) 任何線索都好,感謝~<(_ _)> -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.227.73.125

12/08 06:05, , 1F
這是urlencode,而且之所以叫做urlencode就是因為網
12/08 06:05, 1F

12/08 06:06, , 2F
址中應該盡量避免使用非英數字,你還是改檔名吧!
12/08 06:06, 2F

12/08 08:56, , 3F
windows系統是big5喔 要在move_uploaded_file的路徑
12/08 08:56, 3F

12/08 08:57, , 4F
用iconv("UTF-8", "Big5",$var)
12/08 08:57, 4F

12/08 11:04, , 5F
b大,因為用過urlencode,出來的編碼無法對上,所以
12/08 11:04, 5F

12/08 11:05, , 6F
才有想說這是不是我沒看過的編碼@@a 不過感謝 的確用
12/08 11:05, 6F

12/08 11:06, , 7F
中文檔名基本上都不會建議 XD
12/08 11:06, 7F

12/08 11:07, , 8F
t大,我有兩個環境,一個是我的M$,不用特地處理,
12/08 11:07, 8F

12/08 11:08, , 9F
在連結上就都沒問題,不過丟到那個應該是freebsd上
12/08 11:08, 9F

12/08 11:09, , 10F
時(看phpinfo的),就會發生中文檔名變成我無法仿製
12/08 11:09, 10F

12/08 11:11, , 11F
的url形式,所以才想說不是有解 t大的方式我在上傳
12/08 11:11, 11F

12/08 11:11, , 12F
並移動檔案時的確有做,所以這部分是要看系統不一樣
12/08 11:11, 12F

12/08 11:13, , 13F
就要由utf-8在這時先行轉成主機的編碼? 如果是,也想
12/08 11:13, 13F

12/08 11:13, , 14F
請問一下怎麼看各系統的編碼 謝謝:)
12/08 11:13, 14F

12/09 15:13, , 15F
因為不同編碼的同一個字,urlencode的結果也不同
12/09 15:13, 15F
文章代碼(AID): #19F4DxrW (PHP)
文章代碼(AID): #19F4DxrW (PHP)