上傳檔案的中文亂碼問題

來源:互聯網
上載者:User
檔案上傳 亂碼

所有字元集都設定的是utf8,但上傳檔案後在檔案目錄下發現中文檔案名稱亂碼,然後就在上傳前把檔案名稱轉為了GB2312碼,這時候檔案名稱可以顯示中文了,但是資料庫存放路徑的時候不能插入了,我就把那張表改成了GB2312的字元集,按理說這樣就可以了吧,還是插入不了?怎麼辦


回複討論(解決方案)

這裡涉及兩個概念,系統的編碼和字元的編碼
不知道你上傳前是什麼系統,如果是windows(98以後),選了"gb2312"編碼實際上是cp936(相當於GBK)編碼
而資料庫的字元編碼gb2312和gbk並不相同,漢字少很多,應該選gbk編碼

還不行的話就要考慮其他因素了,如果伺服器是windows,那是個麻煩事,因為php目前還不能有效處理windows下unicode路徑??假設你的全路徑有任意一個字元超出了字元集,windows是採用混合編碼記錄路徑的;而*nix則是統一以utf-8編碼記錄路徑,所以問題不大

csdn的開發人員又做多餘的事了,文章的分段又沒了,唉……

說一個解決思路樓主試一試

還是全用UTF-8,上傳後在PHP檔案內再強制轉換一次 上傳後檢測檔案名稱是UTF-8還是GBK還是GB2312 然後統一轉換為UTF-8

參考 http://www.cnblogs.com/rosenia/archive/2013/05/20/3088146.html 數組多加一個GB2312

然後再存

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.