post請求亂碼


jsp頁面中    <meta http-equiv="content-type" content="text/html; charset=UTF-8">通知瀏覽器以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"); 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM