【solvebug】http请求返回结果中文乱码,返回结果中包含中文时显示“????”的问题

如何解决http请求返回结果中文乱码

1、场景描述

http请求中,请求的结果集中包含中文,最终以乱码展示。
我使用的是hutool http。
已经在请求头中设置了Content-Type:application/json;charset=UTF-8,返回结果仍然是乱码。

2、问题的本质

乱码的本质是服务端返回的字符集编码与客户端的编码方式不一致。
场景如服务端返回 UTF-8,而客户端的编码默认是 ISO-8859-1

3、问题解决

解决的办法就是让服务端返回的结果的编码与客户端的编码保持一致

在request的header中增加一个项:
Accept:application/json;charset=UTF-8

4、拓展

http中最常见的2个header的区别

Content-Type 用于描述本次请求的body的内容是json格式,且编码为UTF-8
Accept 用于描述客户端希望返回的结果以json来组织,且UTF-8
Content-Type 用于描述request,而Accept用于描述reponse

5、参考

程序员导航网 https://www.chenzhuofan.top/
中文乱码如何解决 https://www.94rg.com/article/10

posted @ 2021-01-07 16:59  嗨!阿克  阅读(1191)  评论(0编辑  收藏  举报