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

项目在Centos7上的Tomcat 9.0.56部署后,前端向MySQL 5.7.36数据库添加中文数据出现乱码。通过排除法,确认问题不在项目本身或Windows下的Tomcat。最后发现是Linux环境下数据库的字符集设置问题。通过在JDBC URL末尾添加`?characterEncoding=UTF-8`解决了乱码问题,但作者计划寻找更根本的解决方案,如修改数据库属性文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目部署在虚拟机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的编码方式为数据

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值