MYSQL数据库:
from RestaRestaurantTable as rt where rt.rentNameCode like  '%厅%'
这条语句,在执行后,没有任何查询结果,但数据库里有相关信息,from RestaRestaurantTable as rt where rt.rentNameCode like  '%1%'
这条语句,在执行后,就有查询结果为什么输入汉字查询就不行呢

解决方案 »

  1.   

    回1楼打印出来的SQL语句,汉字是乱码,这表明,是不是没有设置字符集?要是那样,该如何设置呢?请指点,谢谢!
      

  2.   

    因为你传递前,你的汉字的编码和数据库的编码不同。比如你的数据库是GBK的,而你的文字是UTF-8的。所以这类问题最好用参数传递
      

  3.   

    你用什么连接数据库的?
    JDBC的话在连接字符串后面加上一个参数,具体你网上搜一下我手头没有Hibernate的话加以下标签
    <property name="connection.useUnicode">true</property>
    <property name="connection.characterEncoding">GBK</property>
      

  4.   

    我用的编码都是一至的,用的都是UTF8的,而且在web.xml里也写了,用的也是UTF8
      

  5.   

    LZ说的不是很清楚,把sql放入在mysql命令行下试试,如果没问题就是乱码问题了。先把mysql设置字符集为utf啊