Java 调用.NET Service 接口返回 Json 中文乱码
.NET 接口返回的是实体,实际接收的 Json 结构如下:
json
{
"d": {
"orderGuid": "",
"status": false,
"msg": "订单当前不能申请取消,请联系管理员"
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7
在本机调试正常,但是 Java 程序发布到服务器上取到的中文中间有时会有乱码,而且是 msg 属性的最后一个字符乱码。打印出来显示最后一个字符为 ??
其中 msg 字段的值尝试使用 utf-8
encode 后再返回,仍然有问题。
解决方案:增加环境变量( JAVA_TOOL_OPTIONS
)
- 变量名:
JAVA_TOOL_OPTIONS
- 变量值:
-Dfile.encoding=UTF-8