新手再问一个老问题-----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
试一下