Mobile

Charles中文乱码

2016-08-24  本文已影响3509人  TroyZhang

前言

正常情况下,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

修改JVMOptions: -Dfile.encoding=UTF-8

网上很多人都是用这种方式,但是我试了下,没有成功,我的Charles版本是v3.11.1

方案2:在CharlesRewrite Header

打开Charles->Tool->Rewrite->勾选Enable Rewrite->点击Sets面板Add按钮->右侧Locations面板点击Add按钮输入url匹配规则(你server端的url规则)->右侧Rules面板点击Add按钮输入,详情如下图:

Charles Rewrite规则配置

注意:这里需要根据你Server端返回数据的具体情况来,因为我的Server端并没有返回Content-Type这个Header,并且所有接口都返回了Server: Apache-Coyote/1.1这个Header,所以我这个Rewrite规则实际上是修改Server: Apache-Coyote/1.1Content-Type: application/json;charset=UTF-8

上一篇下一篇

猜你喜欢

热点阅读