struts+hibernate+mysql HQL语句查询带中文的查询不出数据的解决方法
2012-12-08 10:59
671 查看
struts+hibernate+mysql HQL语句查询带中文的查询不出数据的解决方法
折腾了快半天的时间。怎么都查询不出数据。原因:编码转换乱码的问题。从hibernate传入mysql时中文乱码。
HQL语句:
String queryString = "from ViewKk where "
+ "overTime" + "<= ? and "+"amount"+">0 and overTime>'"
+GetTime.getStringDate4()+"' and areaName=:name order by overtime desc" ;
语句本身没有问题。一开始以为HQL语句有问题,我就把判断语句一个一个的测试发现overTime、amount都没问题,就areaName进行中文判断时就有问题了。我的情况如下:
jsp的Encoding为:GBK
Tomcat的Encoding为:GBK
数据库的Encoding为:GBK
还是无法查询出数据。最后在网上找到一前辈的方法,就能解决了。
方法如下:
打开hibernate的配置文件:hibernate.cfg.xml
然后找到:
<property name="connection.url">
jdbc:mysql://127.0.0.1:3306/GD
</property>
将其修改为:
<property name="connection.url">
jdbc:mysql://127.0.0.1:3306/GD?useUnicode=true&characterEncoding=gbk
</property>
[align=left]问题是解决了,但是为什么会出现这种情况就百思不得其解。忘高手能解惑。[/align]
[align=left]此文属转载非原创,转载的地方忘了。当时比较急,所以没留意。若有什么问题可留言。[/align]
[align=right]问题即可解决!2012年11月22日[/align]
折腾了快半天的时间。怎么都查询不出数据。原因:编码转换乱码的问题。从hibernate传入mysql时中文乱码。
HQL语句:
String queryString = "from ViewKk where "
+ "overTime" + "<= ? and "+"amount"+">0 and overTime>'"
+GetTime.getStringDate4()+"' and areaName=:name order by overtime desc" ;
语句本身没有问题。一开始以为HQL语句有问题,我就把判断语句一个一个的测试发现overTime、amount都没问题,就areaName进行中文判断时就有问题了。我的情况如下:
jsp的Encoding为:GBK
Tomcat的Encoding为:GBK
数据库的Encoding为:GBK
还是无法查询出数据。最后在网上找到一前辈的方法,就能解决了。
方法如下:
打开hibernate的配置文件:hibernate.cfg.xml
然后找到:
<property name="connection.url">
jdbc:mysql://127.0.0.1:3306/GD
</property>
将其修改为:
<property name="connection.url">
jdbc:mysql://127.0.0.1:3306/GD?useUnicode=true&characterEncoding=gbk
</property>
[align=left]问题是解决了,但是为什么会出现这种情况就百思不得其解。忘高手能解惑。[/align]
[align=left]此文属转载非原创,转载的地方忘了。当时比较急,所以没留意。若有什么问题可留言。[/align]
[align=right]问题即可解决!2012年11月22日[/align]
相关文章推荐
- mysql查找语句中包含中文字符时查询失效的问题及解决方法
- 解决:hibernate+mysql中文查询不出结果,SQL语句也正常
- mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)
- mysql的sql查询语句含有中文,rs.next()就false的解决办法
- MySQL字符集中文乱码终极解决方案和mysql查询中文问题解决方法[转贴]
- EF TO MYSQL 无法查询中文的解决方法
- Hibernate原生SQL查询数据转换为HQL查询数据方法
- mysql导入导出数据中文乱码解决方法小结
- MySQL字符集中文乱码终极解决方案和mysql查询中文问题解决方法[转贴]
- hibernate操作oracle中文查询条件乱码解决方法
- Struts + Spring + Hibernate + Mysql中文问题解决
- Struts + Spring + Hibernate + Mysql中文乱码问题解决
- MYSQL 不允许在子查询的同时删除原表数据的解决方法
- 解决Hibernate保存数据到mysql时的中文乱码问题
- SQLyog v11.24查询MySQL5.6.24中文乱码的解决方法
- hibernate,mysql中文乱码解决方法
- 使用jpa hql语句查询关联多个表 如何用struts的iterator接受显示数据
- Mysql导入中文数据发生错误的解决方法
- jsp存取mysql中文数据结果为乱码的解决方法(未经验证)
- Struts + Spring + Hibernate + Mysql中文乱码问题解决