IOS请求php返回的数据JSON数据无法正确解析 utf-8格式

本来可以早早睡觉了,突然发现PHP请求回来的JSON格式居然无法解析出正确的数据。


解析代码

request.responseEncoding = NSUTF8StringEncoding;
NSString *responseString = [request responseString];

用浏览器打开发现是正确的JSON格式,那就怀疑是我们客户端代码的问题。

使用一下代码解析

    request.responseEncoding = NSUTF8StringEncoding;
    NSString *responseString = [request responseString];
    
    if (responseString == nil)
    {
        NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_2312_80); 
        
        request.responseEncoding = enc;
        responseString = [request responseString];
    }
    
    if (responseString == nil)
    {        
        request.responseEncoding = NSISOLatin1StringEncoding;
        responseString = [request responseString];
    }
    

可以解析出来,但是发现解析的中文是乱码。

那就开始怀疑是apache的问题,但是我使用的是XAMPP最新的版本,查了很久发现现在的版本是不需要设置字符集的。

在想了几种可能性后,突然想到会不会是文本的保存格式的问题,我将XXX.PHP用UTF-8保存后,正确可以解析出数据。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值