Servlet(六)中文乱码问题

点点圈 提交于 2019-11-28 05:31:31

出现中文乱码的原因:

    浏览器(请求) 与 服务器(默认编码是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编码

       

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!