解决日志输出及服务调用乱码问题
问题描述
项目部署到指定服务器【非阿里云部署】推送数据到其他系统,日志输出出现中文乱码,以及对方接收到参数也出现中文乱码;
解决方式
第一步:发送请求时,需要设置请求头固定编码格式 utf-8
第二步:确保指定服务器的系统字符编码为 utf-8
第三步:使用命令行启动时,需要注意指定 Java 进程编码格式配置参数
-Dfile.encoding=UTF-8 配置全局编码格式,写在 jar 包后面会不生效;需要写在 jar 包前面才生效。
错误启动方式:nohup java -jar hooya.jar --spring.profiles.active=prod -Dfile.encoding=UTF-8 > catalina.out 2>&1 &
正确启动方式:nohup java -jar -Dfile.encoding=UTF-8 hooya.jar --spring.profiles.active=prod > catalina.out 2>&1 &