hql凡是数据是中文的都搜索不到

java_37 2012-08-02 08:27:16
String hql="from Student where sdept=? and sage>?";
String parameters[]={"计算机系","3"};
List<Student> list=HibernateUtil.executeQuery(hql, parameters);
for(Student student:list){
System.out.println(student.getSname()+" "+student.getSage());
}
没有内容输出,若条件语句里的内容是英文,就可被识别,返回对象
...全文
99 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackson_fighting 2012-08-06
  • 打赏
  • 举报
回复
楼主先把sql语句打出来看看
<property name="show_sql">true</property>

如果是mysql.
需要这样写:
<property name="connection.url">
jdbc:mysql://localhost:3306/study_hib?useUnicode=true&characterEncoding=utf-8
</property>
java_37 2012-08-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

太明显了,数据库连接conn的字符集,以及数据库server字符集跟你工程不一致 ,导致乱码。要么查看数据库字符集设置,在代码里转码到一致。再要么就更改数据库字符集跟你的工程一致。不同数据库怎么改字符集,问baidu 一大堆
[/Quote]
我把我数据库的任何属性都改成UFT8的了,可是还是搞不定,存不行,查找也不行,识别不了中文
酷儿 2012-08-04
  • 打赏
  • 举报
回复
使用log4g把你的执行语句打印出来看一下喽。
java_37 2012-08-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

明显是编码问题啊, 改成 UTF-8 试试
[/Quote]
在哪改,还有哪些地方要改
secretx 2012-08-03
  • 打赏
  • 举报
回复
太明显了,数据库连接conn的字符集,以及数据库server字符集跟你工程不一致 ,导致乱码。要么查看数据库字符集设置,在代码里转码到一致。再要么就更改数据库字符集跟你的工程一致。不同数据库怎么改字符集,问baidu 一大堆
msflwl 2012-08-02
  • 打赏
  • 举报
回复
明显是编码问题啊, 改成 UTF-8 试试
honchy 2012-08-02
  • 打赏
  • 举报
回复
开启显sql的功能,看看sql 是什么样子的,有可能中文遇到了编码问题。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧