jenkins自動部署web項目到tomcat導致中文亂碼

最近把公司的項目使用jenkins來自動化部署,在開發環境中使用一段時間后發現,其中的一個前端接口項目出現中文亂碼的問題。跟蹤這個問題發現只要是使用jenkins部署的都會導致中文亂碼,而如果使用手動部署不經過Jenkins的話項目就一切正常。
所以我想有可能是因為jenkins部署的時候,導致目標服務器那邊獲取不到相應的環境變量。
把兩種方式啟動tomcat的catalina.out日志對比了一下,發現項目的啟動的encoding值真的不一樣:


jenkins.png

one.png

對比發現,jenkins部署的項目的sun.jnu.encoding、file.encoding的值都是ANSI_X3.4-1968。而手動發布的是UTF-8。
具體的是哪里導致出現這種差異我到現在也還沒查找出來。
這里直接給出解決方式吧:
1、修改tomcat目錄bin文件夾下面的catalina.sh配置文件,在文件中添加一句:export LANG=zh_CN.UTF-8

2、如果不想動tomcat的配置,并且啟動項目是shell腳本的話,那就把export LANG=zh_CN.UTF-8這句添加到shell腳本上面。

這樣就可以臨時解決一下因為jenkins導致tomcat web項目中文亂碼的問題了。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容