刚开始用IDEA, 在跑dubbo开发时, 发现一个很奇怪的问题, 远程调用服务端的方法时, 传入的中文参数会变成GBK编码.
经过好长时间的跟踪终于把问题定位到了IDEA里配置的Tomcat. 凡是在tomcat里启动的java应用, 不管源码是什么编码, 运行后都是GBK.
解决方法:
Run/Debug Configuration -> Tomcat Server -> Tomcat 7, 在VM Options里面加上 -Dfile.encoding=UTF-8 并应用
以上更改后, 控制台输出会乱码, 还需要将IDEA的启动环境也配成UTF-8, 在IDEA安装目录下, 打开 idea64.exe.vmoptions , 最后一行加上 -Dfile.encoding=UTF-8