现象:
新创建的项目,采用supervisor方式启动jar包,本地、测试环境运行日志都正常,没有出现中文乱码
生产环境里日志出现中文乱码、数据库里记录也乱码、响应参数却不乱码
问题排查:
首先配置参数添加,启动后都不行
server:
tomcat:
uri-encoding: UTF-8
servlet:
encoding:
charset: UTF-8
force: true
enabled: true
spring:
http:
encoding:
charset: UTF-8
enabled: true
force: true
messages:
encoding: UTF-8
centos 操作系统本地字符集编码(命令:locale )也都是 utf-8
经过排查发现老环境里的supervisor版本为4.2.2 新加的机器版本降为3.4.0版本,经过试验,supervisor升级后乱码现象消失。
或者在supervisor启动参数里添加 -Dfile.encoding=utf-8 也正常
java -Dfile.encoding=utf-8 -jar XXX.jar
以上,留作记录