[iOS10 NSLog]iOS10 真机调试NSLog输出不了中文解决办法

升级至iOS10后,使用NSLog打印后台返回的NSDictionary格式数据时出现中文乱码问题。本文通过一系列排查过程揭示问题根源,并提供解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最新Xcod8+iOS10 的双重组合坑,打的我不要不要的

说说问题吧

最近把iPhone5s升级到了iOS10系统 ,之前是iOS7的系统
然后神奇的问题就出来了,本来好好Log信息能打印后台返回的信息

并且是中文

在升级iOS10 以后,就变成了打印出一堆非 utf-8的乱码
这里写图片描述

下面是心路历程了,各种苦逼的猜测

  • 1.我以为是升级Xcod8以后,出现的Nslog要进行适配,后来发现不是这个问题
  • 2.我以后是后台出现了问题,结果排查以后也不是
  • 3.我以为是Nslog宏定义的问题,结果也不是
  • 4.当我用回一个iOS8系统的测试手机去跑程序,我发现竟然可以

1 ==> 问题出在哪里呢?

2 ==> 问题出在,我打印后台数据的时候,是直接打印后台返回的数据转换格式后的 NSDictionary(字典)

3 ==> 这个情况在iOS10以下的系统中,好像是可以将字典格式打印出中文,但是在iOS10系统以后,直接去NSLog字典格式,就会出现问题!!!!

可以这样改 (把dict转换成字符串)

  NSString *desc = [d objectForKey:@"respDesc"];
            NSLog(@"resp %@", [NSString stringWithFormat:@"%@",d]);

这里写图片描述

ok

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值