spring+hibernate中的查询语句中的where中如果出现中文,怎么就查不到任何数据了呢?数据库是mysql
where条件为英文、数字时正常。
有人知道解决方法吗?sql = "select u.userId from Userbasic u where u.account = ?";
l = getHibernateTemplate().find(sql, account);
如果account为"中文",结果得到的却是l.size==0!!

解决方案 »

  1.   

    你数据库里直接用中文查是否正常?看看hibernate生成的sql语句,where后面是不是中文?
      

  2.   

    你首选把SQL语句放到数据库中去查看看行不行..应该是数据库在安装的时候编码没有设置好.
      

  3.   

    同意楼上做法……看是否是乱码
    换成 like '%一个汉字试试%'
      

  4.   

    很有可能是您的应用没有设置字符集转换,form表单提交的中文在后台处理中已经变成的乱码
      

  5.   

    我也同意先直接看生產的sql語句   然后再找具體的問題
      

  6.   

    我感觉应该是你从jsp页面取值的时候已经是乱码了