1.场景
将服务部署在一台机器上,过后发现消费端在注册中心中获取服务时,
如果获取到该服务器上的服务进行请求,处理结果为乱码,而请求另外一台服务器的服务时,结果却是正常。
2.排查
经排查这台服务器上的服务器编码为GBK,而其他正常的服务器则为UTF-8
1 | locale |
3.解决
这时有两种解决方案:
- 修改系统的全局服务器编码为UTF-8(不知道为何,在启动脚本使用临时环境变量的方式提前执行了
export LANG=en_US.UTF-8
却无法生效。) - 在启动脚本里,对jvm启动参数进行调整,设置编码格式,添加以下参数重启即可。
1 | -Dfile.encoding=UTF-8 |