這篇文章給大家分享的是有關(guān)ServletResponse下載文件亂碼怎么辦的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了陽朔免費(fèi)建站歡迎大家使用!通常來說解決亂碼兩個(gè)方式:
1、把文件名(包括漢字)編碼成UTF-8
String downloadOrigalFile = "測(cè)試文件亂碼.xlsx";
String downloadFileName = java.net.URLEncoder.encode(downloadOrigalFile, "UTF-8");
response.setHeader("Content-Disposition", "p_w_upload; filename=" + downloadFileName);
如果文件名中出現(xiàn)空格,需要把空格替換為%20,UTF-8下+表示空格
downloadFileName = downloadFileName.replace("+", "%20");
2、把文件名編碼成ISO-8859-1(因?yàn)槟J(rèn)編碼是ISO-8859-1)
String downloadOrigalFile = "測(cè)試文件亂碼.xlsx";
final String LOCALE_ENCODING = "gb2312";
// 此處的LOCALE_ENCODING=gb2312:通??梢允褂胘ava的System.getProperties()遍歷察看獲得,
// 一般有兩個(gè)值可能和此有關(guān),請(qǐng)參考結(jié)合實(shí)際情況使用。
// sun.jnu.encoding=GBK
// file.encoding=UTF-8
final String DEFAULT_ENCODING = "ISO-8859-1";
String downloadFileName = new String(downloadOrigalFile.getBytes(LOCALE_ENCODING), DEFAULT_ENCODING);
如果文件名中出現(xiàn)空格,需要把空格替換為%20
downloadFileName = downloadFileName.replace(" ", "%20");
// 此處的getBytes()如果不指定編碼,在跨平臺(tái)的時(shí)候可能會(huì)出現(xiàn)問題,建議明確指定編碼。
response.setHeader("Content-Disposition", "p_w_upload; filename=" + downloadFileName);
====
3、如果要在瀏覽器地址中顯示中文,一般需要修改web容器的默認(rèn)編碼URIEncoding="UTF-8"
(即用get的方式直接下載文件)
例如tomcat容器,在TOMCAT_HOME/conf/server.xml中的如下位置加入
connectionTimeout="20000" redirectPort="8443" /> 4、URL中常用的特殊編碼 + URL 中+號(hào)表示空格 %2B 空格 URL中的空格可以用+號(hào)或者編碼 %20 / 分隔目錄和子目錄 %2F ? 分隔實(shí)際的URL和參數(shù) %3F % 指定特殊字符 %25 # 表示書簽 %23 & URL 中指定的參數(shù)間的分隔符 %26 = URL 中指定參數(shù)的值 %3D 感謝各位的閱讀!關(guān)于“ServletResponse下載文件亂碼怎么辦”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧! 創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。
文章名稱:ServletResponse下載文件亂碼怎么辦-創(chuàng)新互聯(lián)
鏈接地址:http://weahome.cn/article/dephjs.html