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
为什么还会出现乱码啊!谁来救救我啊!  快疯了!

解决方案 »

  1.   

    关于乱码,请参考:
    http://blog.csdn.net/lip009/article/details/1192022  
      

  2.   

    写个过滤器
    然后在里面加http://www.request.setcharacterencoding%28"gb2312"%29;/
      

  3.   

    写个过滤器
    然后在里面加request.setcharacterencoding("gb2312");
      

  4.   

    写个过滤器
    然后在里面加request.setcharacterencoding("gb2312");
      

  5.   

    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>这里不是有filter吗?
      

  6.   

    这个问题有好几种情况。
    1. MySQL要服务器和客户端都设置为UTF-8,设置完以后要重新导入数据。
    2. 你的IE浏览器是否为UTF-8编码的。
      

  7.   

    1、我的MySQL在安装好后 没添加任何数据之前就设置成了UTF-8的
    2、我在IE8中通过右键单击查看了编码 也是UTF-8
      

  8.   

    首先 谢谢您啊  问题暂时是解决了(通过您博客的第二个方法解决的)!但我有点问题想请教哈
    1、我的中文参数是通过form表单的post方法提交的 其他JSP页面也这样提交的(都没问题啊!)为什么唯独这一个页面会出现这样的问题?
    2、如果我一个JSP页面要像这样提交多个含有中文的参数,那我岂不是每个都要这样转编码,这样的话给人的感觉会不会有点不太好?