前言
正常情况下,Server
端提供给Client
端的所有接口的Response
中应该有字符集的Header
设置:
Content-Type: application/json;charset=UTF-8
如果没有,可能造成某些平台的Client
中文解析乱码。
很不幸,我们团队的Server
端开发人员的意识不够,很多JSON
接口都不规范,用Charles抓包中文乱码。
以下为解决Charles中文乱码的方案:
方案1:修改Charles
的配置文件Info.plist
右键Charles->在Finder中显示->右键Charles.app
->显示包内容->Contents->双击打开Info.plist
网上很多人都是用这种方式,但是我试了下,没有成功,我的Charles版本是v3.11.1
方案2:在Charles
中Rewrite
Header
打开Charles
->Tool->Rewrite->勾选Enable Rewrite
->点击Sets
面板Add
按钮->右侧Locations
面板点击Add
按钮输入url匹配规则(你server端的url规则)->右侧Rules
面板点击Add
按钮输入,详情如下图:
注意:这里需要根据你Server
端返回数据的具体情况来,因为我的Server
端并没有返回Content-Type
这个Header,并且所有接口都返回了Server: Apache-Coyote/1.1
这个Header,所以我这个Rewrite
规则实际上是修改Server: Apache-Coyote/1.1
为Content-Type: application/json;charset=UTF-8