我用struts+hibernate建立一个项目,数据库用的是mysql 5.1.1、在hibernate配置文件中写了
jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=gbk,2、然后在mysql中建立相应的表,并设置为
ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=gbk;3、对于项目的所有的JSP文件都在首句写了
<%@ page contentType="text/html;charset=gbk" language="java"%>问题:
1、插入记录后,在MySQL Administrator不能显示中文,显示乱码或“?”;
2、查询记录,不jsp页面中显示与在MySQL Administrator中相同的乱码。注:在网上找好多方法,都没办法解决中文显示问题,望高手指导。

解决方案 »

  1.   

    你的SQL语句起始处加语句‘set names gbk;’
      

  2.   

    使用UTF8 就什么问题都没有了
      

  3.   

    这是因为你的客户端的编码方式并没有改变,默认的是latin1,可以用show variables查看。修改配置文件,将所有latin1的变量,替换为gbk就ok了
      

  4.   

    +--------------------------+----------------------------------------------------
    -----+
    | Variable_name            | Value
         |
    +--------------------------+----------------------------------------------------
    -----+
    | character_set_client     | gbk
         |
    | character_set_connection | gbk
         |
    | character_set_database   | gbk
         |
    | character_set_filesystem | binary
         |
    | character_set_results    | gbk
         |
    | character_set_server     | gbk
         |
    | character_set_system     | utf8
         |
    | character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.2\share\chars
    ets\ |
    +--------------------------+----------------------------------------------------
    -----+
    8 rows in set (0.01 sec)
    我的经过查资料弄成这样了,还是输入中文有问题  2003操作系统
      

  5.   

    请将jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=gbk修改为jdbc:mysql://localhost:3306/struts?useUnicode=true
    试一下