BS项目乱码的原因分析

来源:互联网 发布:sql 触发器 insert 编辑:程序博客网 时间:2024/06/05 04:26
  

BS项目乱码的原因分析:
1.页面的默认编码是ISO-8859-1是存放英文字符的。不支持中文
2.通过网络传递到tomcat服务器。而网络传输的默认字符集也是ISO-8859-1
3.中文字符等其他特殊字符 UTF-8(gbk gb2312 big5)
4.jvm的编译器是Unicode字符。

解决方案:
1.保证所有jsp页面都是统一的字符集,UTF-8(gbk gb2312 big5)都可以
2.让请求和响应统一编码为:
  request.setCharacterEncoding("UTF-8");
  response.setCharacterEncoding("UTF-8");
  让jsp和servlet都统一
3.String str=new String(request.getParameter("tmp").getBytes("ISO8859-1"),"UTF-8")
4.定义过滤器。写一个类继承Filter接口,重写init方法
  在这个方法定义
  request.setCharacterEncoding("UTF-8");、
  china.doFilt(request,response);
  response.setCharacterEncoding("UTF-8");
5.终极解决方案:在tomcat的server.xml加入属性:URIEncoding="UTF-8"

添加位置如图:


原创粉丝点击