今天用hql语句进行条件查询,出现了查询结果集为空的情况,控制台输出的查询语句可以在数据库中查找出结果,同样,条件如果是英文,就可以查询出结果,是中文结果集就为空。还是编码的问题,说明在数据库中执行查询语句时,中文已经变成乱码。
网上的解决办法为在URL中添加如下语句:
"jdbc:mysql://localhost/pos?useUnicode=true&characterEncoding=UTF-8"
我的是在server.xml中,即:
<Context path="/POS" docBase="POS" debug="5" reloadable="true" crossContext="true"
workDir="">
<Resource name="jdbc/pos" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" username="root" password="1234" driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost/pos?useUnicode=true&characterEncoding=UTF-8"/>
</Context>