最近在用SSH框架做一个简单的项目。但在web页面用中文关键字搜索时没有任何搜索结果,但是换用英文关键字时结果正常。百思不得其解!
我的jsp页面是utf-8,url编解码也是utf-8,mysql数据库也是utf-8。由于用的是tomcat服务器,也去server.xml中进行了修改URIEncoding="UTF-8"。然而还是不成功,最终发现问题出在连接mysql用的url没有指定字符集。即在hibernate.cfg.xml中,数据库连接URL要写成如下形式:
<property name="connection.url">jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=UTF-8</property>
然后中文问题就解决了!