編碼1:
對於發送數據,服務器按照response.setCharacterEncoding—contentType—pageEncoding的優先順序,對要發送的數據進行編碼。
request請求:
請求post方式:
request.setCharacterEncoding(“utf-8”);//設置post請求的編碼問題.
String name =request.getParameter(“name”);//獲取的編碼的名稱
請求get方式:
1.當客戶端通過GET請求發送數據給服務器時,沒有方法可以設置它的編碼.因為參數在url中。
2.使用request.getParameter()獲取的數據是被服務器誤認為ISO-8859-1編碼的,也就是說客戶端發送過來的數據無論是UTF-8還是GBK,
服務器都認為是ISO-8859-1,這就說明我們需要在使用request.getParameter()獲取數據后,再轉發成正確的編碼。
例如:
- <span style="font-size:18px;">String name =request.getParameter(“name”);
- name = newString(name.getBytes(“iso-8859-1”), “utf-8”);</span>
ps:所以request的get請求使用request.setCcharacterEncording()方法是無效的,只能通過在xml配置文件里面修改,更多使用filter過濾器進行設置所以的編碼問題