Servlet處理中文亂碼問題(請求/響應)


亂碼原因

  傳輸方和接收方采用的編碼不一致。傳輸方對參數采用的是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”);


免責聲明!

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



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