【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 设置编码格式,再次发送数据 不乱码了!
然后新问题又出现了,虽然传递的数据都是正常的,但是命令行的显示界面全是乱码了,目前还没有找到好的解决方案。
有大佬有好的解决方案求告知。