Servlet(六)中文亂碼問題

出現中文亂碼的原因:

    瀏覽器(請求) 與 服務器(默認編碼是iso-8859-1,服務器處理和響應返回)  之間的編碼格式不一致

(1)post    

     request.setCharacterEncoding("utf-8");

     response.setContentType("text/html;charset=utf-8");

(2)get  

    String username=new String(request.getParameter("username").getBytes("iso-8859-1"),"utf-8");

     response.setContentType("text/html;charset=utf-8");

(3)sendRedirect();

     只是多了個重定向,數據傳遞

    瀏覽器(請求) -----> 服務器(服務器重定向響應) ------>  瀏覽器 (重定向請求)------> 服務器 (響應返回)

   只需對每次http請求響應都做get或post處理即可

   


特殊:1、ie6一下版本對奇數數據量可能仍然產生中文亂碼

           2、實現瀏覽器下載文件帶中文文件名時也可能出現亂碼

解決:此時需要使用urlencode對數據變量做url編碼

       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章