日期:2014-05-18  浏览次数:20781 次

新手问一个老问题-----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中相同的乱码。

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




------解决方案--------------------
我觉得你没有说清楚你的中文乱码从哪里开始成乱码!!

1、插入记录后,在MySQL Administrator不能显示中文,显示乱码或“?”;
2、查询记录,不jsp页面中显示与在MySQL Administrator中相同的乱码。

我觉得第一个你看看是不是你页面字符编码所致.或是数据库设置字符编码所致.或是服务器编码所致!
我建议你可以.第一步,从页面输入中文,在你插入数据库前在后台打印出来.是否成乱码了??
第二.插入后,你查看数据库里的中文是否成乱码了.
第三.插入成功后,查询出来是否成乱码了?
如果有ACTION 再看页面的是否正赏显示了.
这样你就可以找出问题出在哪个环节的字符编码上.再针对的解决@!@


------解决方案--------------------
安装mysql的时候 ,注意选择自定义安装 ,步骤中有个选择编码的 ,我一般选uft8, 以后建表、jsp页面什么的, 都用utf8 编码 —— 一切正常