处理request乱码问题

来源:互联网 发布:最近红的网络歌曲 编辑:程序博客网 时间:2024/05/21 10:58
 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"));//设置中文字节取出的时候编码.