刚刚学习Hql语句就出现这一的问题,百度半天终于解决了,总结一下解决的方案:
出现中文乱码最可能的原因是hibernate配置文件配置的问题
1、检查url路径是否指定字符集为UTF-8
<property name="connection.url">jdbc:mysql:///webshop?useUnicode=true&characterEncoding=UTF-8</property>
2、检查是否有设立查询翻译器
<property name="hibernate.query.factory_class"> org.hibernate.hql.classic.ClassicQueryTranslatorFactory </property>
3、如果到这里还没有解决就有可能是tomcat的问题,可以修改tomcat的配置文件:
在tomcat的安装目录下找conf文件下的server.xml文件修改Connector属性添加URIEncoding="utf-8"