日期:2014-05-16  浏览次数:20681 次

新手再问一个老问题-----mysql中文显示(实在没办法了)
我用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中相同的乱码。

注:在网上找好多方法,都没办法解决中文显示问题,望高手指导。



------解决方案--------------------
你的SQL语句起始处加语句‘set names gbk;’
------解决方案--------------------
使用UTF8 就什么问题都没有了
------解决方案--------------------
这是因为你的客户端的编码方式并没有改变,默认的是latin1,可以用show variables查看。修改配置文件,将所有latin1的变量,替换为gbk就ok了

------解决方案--------------------
+--------------------------+----------------------------------------------------
-----+
| 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操作系统
------解决方案--------------------
请将jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=gbk修改为jdbc:mysql://localhost:3306/struts?useUnicode=true
试一下