我正在使用 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-推荐答案 strong>
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/
|