→ kerash:別用中文 02/23 12:32
→ LaPass:檔名問題.... 02/23 13:07
→ mervynW:xp 應該還是acsii, 所以走big5, 我想你程式大概用utf-8,爆 02/23 13:29
感謝以上幾位大大的回應
我有google到一篇文章說
utf-8 編碼網頁無法在 big5 系統正確處理中文檔名,
原因在於 move_uploaded_file() 不能處理 utf-8 中文編碼,
需利用 iconv() 函數作轉碼
我改了之後,也確實能用了。
但我又想到
1.utf8網頁上傳中文檔出現錯誤的這個問題,也同樣會發生在Linux上嗎?
2.使用iconv是治標 還是 治本 的方法呢?
如果是治標,那治本的方法是什麼?
※ 編輯: jscorpio1 來自: 140.120.62.170 (02/23 14:16)
→ Bambe:基本上是看你的server系統用的是微軟系列還是linux系列 02/23 15:28
→ Bambe:原po的問題在於說php將檔案丟到指定位置時,因為目的檔名的 02/23 15:31
→ Bambe:編碼是utf8,系統無法解析,才會錯誤,因此才需要將檔名 02/23 15:31
→ Bambe:iconv 至 big5 才能將檔案移動到正確的位置上 02/23 15:32
→ Bambe:由於linux的編碼預設就是utf8,基本上不會有這個問題出現 02/23 15:33
→ Bambe:當然,也要取決於你的網頁編碼用的也要是utf8就是了 :) 02/23 15:37
→ jscorpio1:微軟系統是指Win Server也是嗎?還是單指WinXP/Win7? 02/23 17:45
→ mervynW:win vista+好像就是 utf-8 了 02/23 18:07
→ mervynW:不過不要用特殊符號(包涵中文字)還是正途 02/23 18:08
→ buganini:1.原檔名放資料庫,檔名改成編號 02/23 20:24
→ buganini:2. 丟掉windows 02/23 20:24
→ buganini:不是windows版本的問題,是windows api分成兩套 02/23 20:25
→ buganini:PHP用的那套讀出來會是big5 02/23 20:25
→ buganini:用iconv不是個完美的方案,檔名有其他語言或有UAO就炸了 02/23 20:26
→ Bambe:可以請教樓上大大給個完整的說明嗎@@之前曾經為了檔案系統編 02/23 23:09
→ Bambe:碼搞的想撞牆,所以想跟大大學習一番 :) 02/23 23:09
→ Bambe: 教學 02/23 23:10
→ Bambe: 拍謝是想更新第一句說的話 02/23 23:10