Java调用.NET Service接口返回Json中文乱码

.NET接口返回的是实体,实际接受的Json结构如下:

{
    "d": {
        "orderGuid": "",
        "status": false,
        "msg": "订单当前不能申请取消,请联系管理员"
    }
}

在本机调试正常,但是Java程序发布到服务器上取到的中文中间有时会有乱码,而且是msg属性的最后一个字符乱码.打印出来显示最后一个字符为??

其中msg字段的值尝试使用utf-8 encode后再返回,仍然有问题.


解决方案

增加环境变量(JAVA_TOOL_OPTIONS)

  • 变量名:JAVA_TOOL_OPTIONS
  • 变量值:-Dfile.encoding=UTF-8

© 2016 – 2018, 佳佳. 版权所有. 转载请注明出处.

发表评论

电子邮件地址不会被公开。 必填项已用*标注