在帮同学做一个专利语义检索系统时 ,需要把前台输入的中文关键字拿到后台的MySQL数据库去查询,通过Hibernate取回数据,MySQL数据库的编码没有问题,已经设置好,后台获取的前台输入的中文关键字也没有问题,但是这时候把关键字放入Hibernate的查询语句去MySQL获取数据为null,用英文关键字测试可以获取到。因此我分析是后台与MySQL之间的包含中文关键字的查询语句出现了编码问题。
解决办法是设置characterEncoding!在hibernate.cfg.xml中应该这样写:
<property name="url" value="jdbc:mysql://localhost:3306/patent?useUnicode=true&characterEncoding=UTF-8"></property>
解决办法是设置characterEncoding!在hibernate.cfg.xml中应该这样写:
<property name="url" value="jdbc:mysql://localhost:3306/patent?useUnicode=true&characterEncoding=UTF-8"></property>