使用like比较汉语言无法获得数据
使用like比较中文无法获得数据
这是我的查询语句
这是数据库
现在的问题是,我只要把中国改为zhongguo这样的字符串就可以搜索到数据,请问是我的模糊查询的语句写错吗
------解决思路----------------------
你是什么数据库
你看看你数据库的编码格式
------解决思路----------------------
修改排序规则为 utf8_unicode_ci 试试
------解决思路----------------------
用MySQL试了下,like 里用中文没问题。
------解决思路----------------------
你用楼上的方法 改一下
然后你再后台文件 打印出place 看看是不是乱码
------解决思路----------------------
你写的是hql吧,看看控制太打印出来hibernate解析后的sql语句是啥样的,既然数据库里可以,那就是程序中的某个环节中文解析有误
------解决思路----------------------
应该没问题吧。
------解决思路----------------------
数据源配置里,show_sql设置为true,然后看看sql是否有乱码
这是我的查询语句
这是数据库
StringBuffer hql = new StringBuffer("from Place p where p.PPlaces like '%" + place + "%'");
List<Place> list = dao.quary(hql.toString());
System.out.println(hql);
现在的问题是,我只要把中国改为zhongguo这样的字符串就可以搜索到数据,请问是我的模糊查询的语句写错吗
------解决思路----------------------
你是什么数据库
你看看你数据库的编码格式
------解决思路----------------------
修改排序规则为 utf8_unicode_ci 试试
------解决思路----------------------
用MySQL试了下,like 里用中文没问题。
------解决思路----------------------
你用楼上的方法 改一下
然后你再后台文件 打印出place 看看是不是乱码
------解决思路----------------------
你写的是hql吧,看看控制太打印出来hibernate解析后的sql语句是啥样的,既然数据库里可以,那就是程序中的某个环节中文解析有误
------解决思路----------------------
应该没问题吧。
------解决思路----------------------
数据源配置里,show_sql设置为true,然后看看sql是否有乱码