项目架构: spring+springmvc+mybatis 本地环境: windows7+mysql 生产环境 windows server2016+mysql 问题:同一套代码,没有修改过。批量插入数据到生产数据库,中文产生乱码。批量插入数据到本地数据库,正常。 检查: 查看了生产服务器上mysql的字符编码,UTF-8,没有问题。查看了JAVA代码没有问题。 查看字符编码的SQL:”SHOW VARIABLES LIKE '%character%'; 最后定位到mybatis连接数据库,jdbc的编码设置。 因为数据库的配置都是写在配置文件中的: 1, 原先的配置文件: enbrands.driverClassName=com.mysql.jdbc.Driver #enbrands.url=jdbc:mysql://localhost:3306/test enbrands.username=admin enbrands.password=admin 修改后的配置文件: target.driverClassName=com.mysql.jdbc.Driver target.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8 target.username=admin target.password=admin 最后部署到生产服务器,中文乱码问题解决。