现象 

 今天商城项目,调用第三方接口,用的idea。   httpclient方式,返回的json串中有中文乱码。



------------ ------ ---------------

发现   

1.同样的代码在eclispe中运行没有问题。

2.单元测试(没在servlet容器(tomcat)中运行)的时候也没有问题。

---------------------------------------------

httpclient请求编码什么的,都是做好的。(开始以为是这的问题,各种设置尝试)


--------------------

解决办法:

1.Run/Debug Configuration -> Tomcat Server -> Tomcat 7, 在VM Options里面加上 -Dfile.encoding=UTF-8 并应用



以上更改后, 控制台输出会乱码, 



2.将IDEA的启动环境也配成UTF-8, 在IDEA安装目录下, 打开 idea64.exe.vmoptions , 最后一行加上 -Dfile.encoding=UTF-8





控制台和代码中(前台显示)都好。

----------------------

大概原因:

idea rpc访问的时候(我是httpclient调用,有网友是dubbo调用) ,IDEA里配置的Tomcat. 凡是在tomcat里启动的java应用, 不管源码是什么编码, 运行后都是GBK.



Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐