日期:2014-05-19  浏览次数:20701 次

万恶的中文乱码!(JSP)
jsp:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
filter:
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// TODO Auto-generated method stub
if (encoding==null) {
arg0.setCharacterEncoding(encoding);
arg1.setContentType("text/html;charset="+encoding);
arg1.setCharacterEncoding(encoding);
}
arg2.doFilter(arg0, arg1);
}
web.xml:
<filter>
  <display-name>CharactorFilter</display-name>
  <filter-name>CharactorFilter</filter-name>
  <filter-class>com.bookmanagersys.util.EncodingFilter</filter-class>
  <init-param>
  <param-name>encoding</param-name>
  <param-value>UTF-8</param-value>
  </init-param>
  </filter>
  <filter-mapping>
  <filter-name>CharactorFilter</filter-name>
  <url-pattern>/*</url-pattern>
  </filter-mapping>
TOMCAT的编码也改成utf-8了
MySQL的编码也是utf-8
为什么还会出现乱码啊!谁来救救我啊! 快疯了!

------解决方案--------------------
关于乱码,请参考:
http://blog.csdn.net/lip009/article/details/1192022
------解决方案--------------------
写个过滤器
然后在里面加request.setcharacterencoding("gb2312");
------解决方案--------------------
这个问题有好几种情况。
1. MySQL要服务器和客户端都设置为UTF-8,设置完以后要重新导入数据。
2. 你的IE浏览器是否为UTF-8编码的。