亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Servlet關于下載時中文名附件的一些問題?

Servlet關于下載時中文名附件的一些問題?

慕蓋茨7059572 2019-01-12 16:18:57
Servlet技術在下載中文名稱附件的時候都需要對文件名進行重新編碼例如以下這種辦法:if?(agent.contains("MSIE"))?{????????//?IE瀏覽器 ????????filename?=?URLEncoder.encode(filename,?"utf-8"); ????????filename?=?filename.replace("+",?"?"); }?else?if?(agent.contains("Firefox"))?{????????//?火狐瀏覽器BASE64Encoder?base64Encoder?=?new?BASE64Encoder(); ????????filename?=?"=?utf-8?B?" ????????????????+?base64Encoder.encode(filename.getBytes("utf-8"))?+?"?="; }?else?{????????//?其它瀏覽器 ????????filename?=?URLEncoder.encode(filename,?"utf-8");???????????????? } 其中agent就是請求頭User-Agent的值 一直這么用,但是有幾個問題一直不明白 1.為什么要用URLEncoder.encode(filename,?"utf-8");編碼成application/x-www-form-urlencoded?MIME?格式?我整個web應用環境都是UTF-8,為什么還要用UTF-8進行編碼?2.application/x-www-form-urlencoded?MIME?格式這個不是客戶端向服務器請求的格式么?為什么服務器響應的時候也要用這種格式?3.瀏覽器到底能解析什么編碼呢?我看到使用new?String(fileName1.getBytes(“UTF-8”),”ISO8859-1”);這種方法在谷歌,火狐也可以進行中文文件名的解析。沒有方法通知瀏覽器根據某種編碼進行解碼么?
查看完整描述

1 回答

已采納
?
pardon110

TA貢獻1038條經驗 獲得超227個贊

在Web的瀏覽器中,不同的瀏覽器的編碼和解碼規則是不一樣的.

對于IE瀏覽器, 編碼通常使用application/x-www-form-urlencodedMIME機制.


查看完整回答
反對 回復 2019-01-12
  • 1 回答
  • 0 關注
  • 826 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號