jsp頁面中 通知瀏覽器以utf-8解碼
get請求編碼方式和post請求提交編碼方式不同,get是把資料直接放到url中,例如以上的uname,ie瀏覽器先對中文進行utf-8編碼(乙個中文3個字元表示 太長),繼而為了縮短字元又用iso8859-1編碼後傳遞給伺服器。伺服器的doget方法中要先進行iso8859-1解碼再utf-8解碼才能看到中文。
而post請求則在瀏覽器端把資料以utf-8的形式儲存到http的請求體中,不用通過url傳輸,繼而只要 request.setcharacterencoding("utf-8");通知request以utf-8形式解碼就行,因為request預設以iso8859-1進行解碼的。
總結:以後在實際的開發中避免不了給頁面輸出中文資料以及中文的引數。那麼以後在處理使用者請求的doget和dopost方法中我們應該一上來直接編寫如下三句:
1 response.setcharacterencoding("utf-8");
2 response.setcontenttype("text/html;charset=utf-8");
3 request.setcharacterencoding("utf-8");
GET請求不亂碼,Ajax請求POST亂碼問題
var params mainform serialize ajax function else error function 我反覆測試,發現get請求就不會亂碼,post傳到controller就是iso8859 1。最終大牛給我修改後的 var params getformjson mainf...
解決POST請求亂碼問題
在本地寫了個指令碼,請求伺服器,請求方式是post請求,設定separameter,傳遞引數是中文,然後在伺服器端接受的引數已經變為亂碼,解決方式 自定義post請求的編碼方式 public static class utf8postmethod extends postmethod overrid...
get請求和post請求亂碼分析
針對get 請求和post請求亂碼分析 如果是get請求,伺服器是由tomcat預設的編碼格式,或者你設定的編碼格式去重新編碼,也就是說,這個編碼是由tomcat容器完成的。至於tomcat 是用那種編碼,分情況1 如果是tomcat7 以及以下版本,預設的編碼格式是iso 8859 1,如果想改變...