在使用JDBC进行mysql连接查询时,经常会遇到中文编码的问题。若使用LIKE查询语句实现关键词搜索,由于连接和存储的字符编码不一致,返回的结果中除了有包含关键词的记录外,还包含许多其他的记录。

解决的办法是:给JDBC的url传入编码参数,如:

jdbc:mysql://localhost:3306/test?useUnicode=true&connectionCollation=utf8_general_ci&characterEncoding=UTF-8

若放到XML配置文件中,注意将&符号进行转义:

jdbc:mysql://localhost:3306/tongyimenhu?useUnicode=true&connectionCollation=utf8_general_ci&characterEncoding=UTF-8