首页 新闻 会员 周边 捐助

web api编码格问题

0
悬赏园豆:5 [已解决问题] 解决于 2019-03-13 12:08

我使用asp.net core开发的web api,通过postman测试是可以获取到数据,由java平台的spring RestTemplate调用,发现整个response乱码,而且很奇怪的是显示返回的数据使用了utf-16编码,但是在请求头中设置的是application/json;charset=utf-8。java 调用截图

求解,而且同样使用asp.net 开发的就不存在这个问题。

我爱CC的主页 我爱CC | 初学一级 | 园豆:4
提问于:2019-03-11 18:21
< >
分享
最佳答案
0

application/json;charset=utf-8 对应的是哪个请求头?

收获园豆:5
dudu | 高人七级 |园豆:29732 | 2019-03-11 18:32

通过观察控制台,发现请求strating 是utf-8 finished 时变成了utf-16了,我猜测postman 是根据响应头使用utf-16来解码,而java写的程序固定使用utf-8来解码,所以乱码了,通过强制手段更改response使用utf-8之后,api出现了406.是什么机制导致服务端选择utf-16来编码了呢。为什么不是utf-8

我爱CC | 园豆:4 (初学一级) | 2019-03-11 20:03

@我爱CC: 你在代码中是否使用了 Unicode ? 在 .NET 中 Unicode 对应的编码就是 UTF-16

dudu | 园豆:29732 (高人七级) | 2019-03-11 21:44
其他回答(1)
0

原来是json序列化问题

我爱CC | 园豆:4 (初学一级) | 2019-03-13 12:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册