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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

web开发时在浏览器上下载文件中文名字乱码问题

發布時間:2023/12/20 HTML 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 web开发时在浏览器上下载文件中文名字乱码问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一直以來,編譯器跟瀏覽器的中文編碼問題都讓我很頭疼,今天我就做了一下總結,今后web開發下載文件的時候就不用擔心亂碼的問題了。瀏覽器可以自己識別編碼,是因為與Content-Disposition相互對應,如果一致就不會出現亂碼問題了。首先應該是IE瀏覽器,大多數人開發都會參照IE,因為沒有過多的插件,可以最大限度的顯示代碼的缺點和BUG。(1) IE瀏覽器使用的是直接urlencode,編寫filename時格式如下:filename = URLEncoder.encode(filename,"UFT8");response.setHeader("Content-disposition","attachment; filename="+ filename)這樣就可以正常編碼 了。一般也適用于其他的瀏覽器。(2)Opera瀏覽器,采用的是filename*的方式new_filename* = "UTF-8"+filename(3) Safar瀏覽器采用的是ISO編碼filename = new String(filename.getBytes("UFT-8"),"ISO8859-1");(4) Chrome瀏覽器,只能采用MimeUtility編碼,或者ISO的中文輸出filename = MimeUtility.encodeText(filename,"UFT8","B");(5) 火狐瀏覽器FireFox ,可以使用MimeUtility,ISO或者filename*的中文輸出另外判斷是什么類型的瀏覽器可以同userAgent.indexOf("瀏覽器類型")來判斷
String agent = request.getHeader("user-agent"); if(agent.contains("Firefox")){fileNameDisplay = new String(fileNameDisplay.getBytes("GB2312"),"ISO-8859-1"); } else {//encode后替換 解決空格問題 . encode后的內容 瀏覽器是如何解析的? fileNameDisplay = URLEncoder.encode(fileNameDisplay, "UTF-8").replaceAll("\\+", "%20");//fileNameDisplay = URLEncoder.encode(fileNameDisplay, "UTF-8"); } response.addHeader("Content-Disposition", "attachment;filename=" + fileNameDisplay);

原文地址: http://blog.sina.com.cn/s/blog_b216acc90102vkq7.html

總結

以上是生活随笔為你收集整理的web开发时在浏览器上下载文件中文名字乱码问题的全部內容,希望文章能夠幫你解決所遇到的問題。

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