代碼:$upfile='uploads/'.rand(0,10000).date('YmdHis').iconv("gb2312", "UTF-8", $_FILES['upload']['name']); //$upfile是上傳圖片的鏈接地址,存入數據庫在數據庫顯示的鏈接地址中原來的圖片中文名不能顯示出來,而且圖片后綴格式顯示不出來比如數據庫顯示的鏈接是:uploads/34420121102122153android寮而原來上傳的圖片是:android開發框架.jpg
2 回答

開滿天機
TA貢獻1786條經驗 獲得超13個贊
首先,肯定是編碼問題造成的。
你這里有三個地方涉及到編碼問題,之間存在轉換,很可能錯亂,我建議你全部統一utf8的編碼
上傳的文件名
$_FILES['upload']['name']
??茨愕拇a,把這個由gb2312轉成utf8了,但是先要確定你的原文件名上傳上來是否真的是gb2312,需要轉換,如果不需要轉換。存入數據庫的時候,你的數據庫是什么格式的
數據庫讀出來的時候,展示的地方是什么格式的
建議你檢查這三個地方,分別打印出來看下,統一編碼,可以解決問題

天涯盡頭無女友
TA貢獻1831條經驗 獲得超9個贊
一般采取的方式是:上傳后重新命名,在服務器采用存儲對應表的方式,進行配對。各種操作系統存儲文件的編碼都不一樣,而程序代碼的編碼也是各種各樣,統一重命名存儲是最好的方式。
- 2 回答
- 0 關注
- 186 瀏覽
添加回答
舉報
0/150
提交
取消