项目部署到Linux下中文乱码问题

项目部署在虚拟机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的编码方式为数据库默认的,问题基本可以确定是出在这里了。

接着是解决办法,网上看到的文章大部分都指向了my.cnf这个文件,找了很久,未果。

查找结果如下:

[root@192 bin]# mysql --help | grep my.cnf
bash: mysql: command not found...
我于是又搜数据库没有my.cnf文件怎么办,类似的办法是自己建一个,然后再去找default.cnf文件,我又花时间找了一下,发现也没有找到。我不死心我又在网上找了蛮久,发现都是围绕这两个文件来解答的,不过还是有看到不同的解决办法的,就是在JDBC的url结尾加上?characterEncoding=UTF-8就行,我在配置文件中把这句话加了上去,然后重新打包,导入文件到Linux下运行,经过测试,进行数据库添加操作时,并没有中文乱码产生,所以这个方法是很直接很有效的,只要之后在配置文件中加上就行。

 不过我还是倾向改数据库属性文件把问题解决,这样可以一了百了,所以之后我还会在尝试其他方法。

原博主博客

项目部署到linux乱码_ZyyIsPig的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/qq_44858888/article/details/122510708