新聞中心
JAVA文件下載時(shí)亂碼有兩種情況:
創(chuàng)新互聯(lián)企業(yè)建站,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁(yè)設(shè)計(jì),有多年建站和網(wǎng)站代運(yùn)營(yíng)經(jīng)驗(yàn),設(shè)計(jì)師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對(duì)于網(wǎng)站制作、成都網(wǎng)站制作中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動(dòng)的思維在網(wǎng)頁(yè)中充分展現(xiàn),通過(guò)對(duì)客戶行業(yè)精準(zhǔn)市場(chǎng)調(diào)研,為客戶提供的解決方案。
1,下載時(shí)中文文件名亂碼
2,下載時(shí)因?yàn)槁窂街邪形奈募麃y碼,提示找不到文件
解決方法見(jiàn)下面部分代碼
response.setContentType("multipart/form-data"); String userAgent = request.getHeader("User-Agent"); String oraFileName = meetingFile.getFileName(); String formFileName=oraFileName; // 針對(duì)IE或者以IE為內(nèi)核的瀏覽器: if (userAgent.contains("MSIE") || userAgent.contains("Trident")) { formFileName = java.net.URLEncoder.encode(formFileName, "UTF-8"); } else { // 非IE瀏覽器的處理: formFileName = new String(formFileName.getBytes("UTF-8"), "ISO-8859-1"); } response.setHeader("Content-disposition", String.format("attachment; filename=\"%s\"", formFileName)); response.setContentType("application/vnd.ms-excel;charset=utf-8"); response.setCharacterEncoding("UTF-8"); ServletOutputStream out; // 通過(guò)文件路徑獲得File對(duì)象 File file = null; if (meetingFile != null) { file = new File(path + "upload/"+oraFileName); }
(1)如果第一種亂碼類型,下載頁(yè)面遇到以下的中文亂碼問(wèn)題
用以下代碼解決
(2)如果下載遇到第二種亂碼問(wèn)題,如圖:
用以下代碼解決:即首先確保tomcat ,eclipse等為utf-8編碼
然后JAVA中這樣與第一種對(duì)文件名編碼分開(kāi),使它們分別編碼,互不影響。
擴(kuò)展:
Java是一門面向?qū)ο缶幊陶Z(yǔ)言,不僅吸收了C++語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語(yǔ)言具有功能強(qiáng)大和簡(jiǎn)單易用兩個(gè)特征。Java語(yǔ)言作為靜態(tài)面向?qū)ο缶幊陶Z(yǔ)言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。
Java具有簡(jiǎn)單性、面向?qū)ο蟆⒎植际健⒔研浴踩浴⑵脚_(tái)獨(dú)立與可移植性、多線程、動(dòng)態(tài)性等特點(diǎn)。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程
以上就是java文件名中文亂碼解決方法的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!
名稱欄目:java下載時(shí)出現(xiàn)中文亂碼的解決方法
標(biāo)題路徑:http://www.ef60e0e.cn/article/jgeide.html