亂碼原因
傳輸方和接收方采用的編碼不一致。傳輸方對參數采用的是UTF-8編碼而接收方卻用GBK進行解析,當然是亂碼。 Tomcat服務器默認采用的ISO8859-1編碼得到參數值。雖然①中采用了同樣的編碼方式,但經過tomcat一處理,也會出現亂碼(GET方式)
1、請求中文亂碼的處理:
--post
request.setCharacterEncoding("UTF-8");
--get
String name = new String(“中國”.getBytes(“iso-8859-1”),“UTF-8”)
2、響應中文亂碼的處理:
--①字節流:
設置瀏覽器默認打開的編碼:
resposne.setHeader(“Content-Type”,”text/html;charset=UTF-8”);
設置中文字節取出的時候編碼.
“中文”.getBytes(“UTF-8”);
--② 字符流:
設置瀏覽器打開的時候的編碼
resposne.setHeader(“Content-Type”,”text/html;charset=UTF-8”);
設置response的緩沖區的編碼
response.setCharacterEncoding(“UTF-8”);
**簡化的寫法
response.setContentType(“text/html;charset=UTF-8”);