中文查询不到结果
问题描述: 在使用jdbc进行数据库连接时,如果sql语句中的where条件有中文,查询不到数据。
解决办法:
在获取数据库连接里这样写:
jdbc:mysql://localhost:3306/database_name?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai"
解释:
- jdbc:mysql://localhost:3306 mysql数据库连接url,端口号3306
- database_name 数据库名字
- ?useUnicode=true&characterEncoding=utf8 设置编码方式为UTF-8,?是拼接后面的符号
- rewriteBatchedStatements=true 开启批量处理。
serverTimezone=Asia/Shanghai 设置时区为上海,对应东八区。高版本的mysql不指定会有警告。