問題描述
項目部署到指定服務器【非阿里雲部署】推送數據到其他系統,日志輸出出現中文亂碼,以及對方接收到參數也出現中文亂碼;
解決方式
第一步:發送請求時,需要設置請求頭固定編碼格式 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 &