【java】springboot+tomcat+okhttp本機跑起來沒有中文亂碼,部署後出現中文亂碼

這兩天出現了一個很奇妙的問題 。

我本機上的數據通過okhttp請求esb接口 一切正常沒有亂碼。

但當我部署到服務器上後,對方接收到的數據都是亂碼了。

和對方覈對表示用的都是utf-8。

 

1.第一時間想到的是tomcat是否配置編碼,在目錄下的server.xml文件中進行配置:

   

再發送數據,對方表示仍然是亂碼。

 

2.再想到的是okhttp配置編碼格式

okhttp3.RequestBody body = RequestBody.create(MediaType.parse("application/json;charset=utf-8"),soapString);

再發送數據,還是亂碼。

 

爲了排除是部署的tomcat導致的亂碼的可能性,直接把項目打成了jar包,在服務器上用 java -jar xxx.jar 運行,還是亂碼。

爲了排除系統不同可能導致亂碼問題,在本機和服務器上分別用jar包運行,都亂碼。

 

3.使用了java -dfile.encoding=utf-8 -jar xxx.jar 設置編碼格式,再次發送數據  不亂碼了!

 

然後新問題又出現了,雖然傳遞的數據都是正常的,但是命令行的顯示界面全是亂碼了,目前還沒有找到好的解決方案。

有大佬有好的解決方案求告知。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章