问题描述
最近写项目中有用到pdf打印预览一功能,本地测试没有问题,可以预览,也不乱码,部署到服务器后发现,乱码了…(只要是中文全部变成问号)
问题定位
1. 是否是mysql问题
从控制台到打印看,mysql查询结果中报错乱码,所以mysql的中文设置到问题比较大,于是从控制台进入mysql执行:
show variables like 'character%'
发现mysql的设置都是utf-8,所以sql配置没有问题,可以排除
2. 是否是项目中yml连接sql处没有中文配置
接着查看项目的yml中mysql的配置:
如图,配置也没有问题,也标注是utf8 了呀,也可以排除
emmmmm…
3.是否是服务器语言的问题
- 修改locale.conf文件的编码格式为utf-8
$ vi /etc/locale.conf
LANG="zh_CN.UTF-8"
- 修改bash_profile中的编码格式
vi ~/.bash_profile
export LANG='UTF-8'
export LC_ALL='zh_CN.UTF-8'
export LC_CTYPE='zh_CN.UTF-8'
- 保存文档
source ~/.bash_profile
修改完成后,重启服务,依然如此,仍然乱码…内心一万头🐎跑过…
完美解决
后在大神帮助下找到了解决的办法,感谢感谢🙏
docker 通过dockerfile 打包项目,需要在dockerfile中增添编码格式(我也是第一次遇到,之前部署docker项目没有遇到过该项目情况-道行浅啊😂)
部署完之后,重新构建jar包项目,完美解决.
后记:看到的这儿的小伙伴是不是感觉特别熟悉啊,之前我们新增export LANG这些都是在服务器上的,并没有考虑到docker中部署的需要,总之还是要多扩展思路的(平时的思路可能更多是idea、mysql及服务器编码的配置考虑,实际中还是要根据自己的项目多多总结的.比如我们的项目使用了docker,哈哈哈.欢迎大家多多交流哈)