日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SmartUplod中文乱码问题(已解决)

發布時間:2024/1/8 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SmartUplod中文乱码问题(已解决) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SmartUpload中文亂碼原因?

最近在做畢業設計,在做到文件上傳的功能時,用到了SmartUpload,做到一半發現SmartUpload會出現上傳文件時從前端獲取的文件名,和文件路徑中文會出現亂碼問題。
經過網上查找相關資料發現,

  • 當使用 SmartUpload 上傳文件時且文件名含有中文時會出現亂碼,但是這并不影響我們上傳文件,因為我們上傳到服務器之后的文件名一般都是我們自己取的,和客戶端的文件名沒有關系,所以這個亂碼問題我也是到最后才發現,當我們在 SmartUpload 類的getDataHeader() 方法中將返回結果打印出來,上傳”Java面試題.doc”的文檔時,會輸出 filename=“涓撳崠搴?doc””, 可以看出文件文發生了亂碼。發生亂碼的原因是 jsp文件采用的是 UTF-8的編碼方式,為SmartUpload 的 m_response 的CharacterEncoding為ISO-8859-1。當我們在生成返回值字符串是為其指定編碼方式為 UTF-8 時就不會出現亂碼,即str = new String(this.m_binArray, i, j - i + 1,“UTF-8”)。
  • 當使用 SmartUpload上傳文件時,在form 表單里有一個text 的input時,text的值含有中文字符,在后臺利 smartUpload.getRequest().getParameter(“name”)時也會出現亂碼。這個問題比上個問題更糾結,因為查看源碼之后發現jsp和SmartUpload 的Request的CharacterEncoding編碼方式都是UTF-8,這樣就無從下手了。
  • 因為是SmartUpload的源碼問題,因此我們從源碼去解決。

    通過修改源碼,然后打包成jar包,最后導入依賴,刪除原有的SmartUpload依賴的jar。就可以解決SmartUpload的中文問題了。
    為了方便大家,請點擊我的鏈接,下載壓縮包后,導入依賴就可以了。

    下載SmartUpload-jar壓縮包

    總結

    以上是生活随笔為你收集整理的SmartUplod中文乱码问题(已解决)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。