+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | utf8                                                    |
| character_set_connection | utf8                                                    |
| character_set_database   | utf8                                                    |
| character_set_filesystem | binary                                                  |
| character_set_results    | utf8                                                    |
| character_set_server     | utf8                                                    |
| character_set_system     | utf8                                                    |
| character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\ |
+--------------------------+---------------------------------------------------------+
上面是我的数据库字符集设置,我全部用的是utf-8
我的url是conn = DriverManager.getConnection("jdbc:mysql://localhost/PaperManager?user=root&password=root&useUnicode=true&characterEncoding=utf-8" );
但是在插入中文数据是仍出现--------------+-----------------------------+
 t_profession | t_colleges                  |
--------------+-----------------------------+
 鍦h揪鑿?      | 浣撹偛瀛﹂櫌
 钀ㄨ姮澶у0     | 娉曞闄?
 | 鍙嶅鎾?      | 鏈烘宸ョ▼瀛﹂櫌
 鍙嶅鎾?      | 璧勬簮鐜涓庢梾娓稿闄?
--------------+-----------------------------+
我的musql连接包是
mysql-connector-java-3.0.10-stable-bin 但是我换了5.0的也不行,各种思路都试了,但是还是不行,请高人指点,谢谢

解决方案 »

  1.   

    不要用MySQL的命令行,这个对UTF8的字符编码处理的有问题,你直接装个图形界面工具,或者从程序里面JDBC读数据看看是不是有乱码
      

  2.   

    图形界面工具查看你原来数据库的数据没问题,那么数据库这里就没问题了,之前的乱码是mysql命令行工具的bug,不用管
      

  3.   

    应该是JSP传递过程中出现了乱码问题。这种情况,要加个filter进去。操作如下:
    首先,增加一个filter类:package com;import java.io.IOException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;public class EncodingFilter implements Filter {    private String encoding;    private FilterConfig filterConfig = null;    public void destroy() {
            this.encoding = null;
            this.filterConfig = null;    }    public void doFilter(ServletRequest request, ServletResponse response,
                FilterChain chain) throws IOException, ServletException {
            request.setCharacterEncoding(this.encoding);
            chain.doFilter(request, response);
        }    public void init(FilterConfig filterConfig) throws ServletException {
            this.encoding = filterConfig.getInitParameter("encoding");
        }}然后,在web.xml文件中加入这个filter:
      <filter>
          <filter-name>Set Character Encoding</filter-name>
          <filter-class>com.EncodingFilter</filter-class>
          <init-param>
               <param-name>encoding</param-name>
               <param-value>GBK</param-value>
          </init-param>
      </filter>
      <filter-mapping>
          <filter-name>Set Character Encoding</filter-name>
          <url-pattern>/*</url-pattern>
      </filter-mapping>