处理request乱码问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangh9172/article/details/78167305
 post提交:内部有一个缓冲区,编码为ISO-8859-1,不支持中文,无法接收,所以使用utf-8来接收中文
  解决方法:request.setCharacterEncoding("utf-8");
  get提交:传输过程中已经被编码了,只需要进行解码就可以了
  解决方法:1.URLEncoder编码和解码
           2.String(byte [] b,String charset);(建议使用)  name = new String(name.getBytes("ISO-8859-1"),"utf-8")
  3.修改tomcat的默认编码(不推荐)
  
   处理response向页面输出时乱码的问题:
         字符流乱码的解决:a.response.setHeader("Content-type", "text/html;charset=utf-8");//设置浏览器打开的时候的编码
                            response.setCharacterEncoding("utf-8");//设置response的缓冲区的编码
                     b. response.setContentType("text/html;charset=utf-8");
字节流乱码解决:ServletOutputStream os = response.getOutputStream();
                  response.setHeader("Content-type", "text/html;charset=utf-8");//设置浏览器打开的时候的编码
                   os.write("字节流输出解决乱码问题".getBytes("utf-8"));//设置中文字节取出的时候编码.

猜你喜欢

转载自blog.csdn.net/zhangh9172/article/details/78167305