项目部署在虚拟机Centos7上,
数据库采用的是mysql-5.7.36,
Tomcat的版本为apache-tomcat-9.0.56,
乱码问题的产生,使用Linux运行项目时,前端页面如果向数据库添加中文数据的时候,会出现乱码问题。
遇到这个问题之后我先是在网上搜了下类似的问题,解决的方法五花八门的,先用排除法。
先甩锅给项目本身:我把项目放到windows中的Tomcat里边运行,功能一切正常,并无乱码问题产生,经过测试,项目表示不背这个锅。
先前测试过windows下的Tomcat一切正常,所以锅到了Linux下的Tomcat手里。根据网上的一些说法,把conf下面的server.xml和web.xml的编码方式都加了UTF-8,重启服务器运行,并没什么用,问题也不是出在这里,乱码该发生还是得发生。
接着就剩下数据库了,一看,果然有问题,附上windows中的mysql对比图
(白色为Linux下的,黑色为windows下的)
首先有两个参数对不上,database和server的编码方式为数据