OGeek|极客世界-中国程序员成长平台

标题: iphone - IOS7 中的 NSUTF8StringEncoding 问题 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 14:46
标题: iphone - IOS7 中的 NSUTF8StringEncoding 问题

我正在使用 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding。我的应用程序在 IOS 6 和 IOS 7 中运行,这没有问题,但问题在于 IOS 7。

NSString *strURL = [NSString stringWithFormat"%@app1.php?loc=%@", URL, [param stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

1. in IOS6 it's encoded like :
 http://mydomain/app1.php?loc=Select%20Office%20location

2. in IOS7 it's encoded like :
 http://mydomain/app1.php?loc=Select%C2%A0Office%C2%A0location

现在的问题是 php 服务器接受否。 1编码我的意思是由IOS6编码。因此,当我的应用程序在 IOS7 中运行时,php 服务器返回零结果,而它在 IOS6 中返回时,任何人都可以帮助我摆脱这个问题。提前致谢。



Best Answer-推荐答案


URL 编码的“%C2%A0”字符串是 UTF-8 编码的 Unicode“不间断空格”。

参见维基 (http://en.wikipedia.org/wiki/Non-breaking_space)。

恕我直言,对于在 URL 查询中未编码的参数字符串中出现 Unicode“不间断空格”没有任何意见。

为了检查iOS 6和iOS 7中原始未编码的参数字符串是否有差异,您需要查看字节,例如,从param创建一个NSData对象使用 UTF-8 编码的字符串并将这个 NSData 对象记录到控制台。

打印 NSString 对象在文本编辑器或控制台中可能具有相同的外观。

关于iphone - IOS7 中的 NSUTF8StringEncoding 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19002164/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4