springBoot项目部署linux服务器出现乱码问题的解决

14 篇文章 0 订阅
6 篇文章 1 订阅
本文探讨了项目中PDF打印预览在服务器上出现中文乱码的问题,通过排查MySQL配置、项目YML文件和服务器locale设置,最终发现解决在于Dockerfile中编码设置的遗漏。作者分享了解决步骤和经验教训,提醒开发者注意跨平台部署环境的编码一致性。
摘要由CSDN通过智能技术生成

问题描述

最近写项目中有用到pdf打印预览一功能,本地测试没有问题,可以预览,也不乱码,部署到服务器后发现,乱码了…(只要是中文全部变成问号)

在这里插入图片描述

问题定位

1. 是否是mysql问题

从控制台到打印看,mysql查询结果中报错乱码,所以mysql的中文设置到问题比较大,于是从控制台进入mysql执行:

show variables like 'character%'

在这里插入图片描述

发现mysql的设置都是utf-8,所以sql配置没有问题,可以排除

2. 是否是项目中yml连接sql处没有中文配置

接着查看项目的yml中mysql的配置:

在这里插入图片描述

如图,配置也没有问题,也标注是utf8 了呀,也可以排除

emmmmm…

3.是否是服务器语言的问题

  1. 修改locale.conf文件的编码格式为utf-8
 $ vi /etc/locale.conf
 LANG="zh_CN.UTF-8"
  1. 修改bash_profile中的编码格式
 vi ~/.bash_profile
 export LANG='UTF-8'
 export LC_ALL='zh_CN.UTF-8'
 export LC_CTYPE='zh_CN.UTF-8'
  1. 保存文档source ~/.bash_profile

修改完成后,重启服务,依然如此,仍然乱码…内心一万头🐎跑过…

完美解决

后在大神帮助下找到了解决的办法,感谢感谢🙏

docker 通过dockerfile 打包项目,需要在dockerfile中增添编码格式(我也是第一次遇到,之前部署docker项目没有遇到过该项目情况-道行浅啊😂)

在这里插入图片描述
部署完之后,重新构建jar包项目,完美解决.

后记:看到的这儿的小伙伴是不是感觉特别熟悉啊,之前我们新增export LANG这些都是在服务器上的,并没有考虑到docker中部署的需要,总之还是要多扩展思路的(平时的思路可能更多是idea、mysql及服务器编码的配置考虑,实际中还是要根据自己的项目多多总结的.比如我们的项目使用了docker,哈哈哈.欢迎大家多多交流哈)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱丫爱

你的鼓励是我创作最大的动力来源

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值