0

在我的 iOS 应用程序中,我使用 NSURLConnection 将请求发布到服务器。以下是我正在使用的代码:

NSString* str = @"http://www.myserver.com/post.php?action=rating&grade=A+&name=vasu";
NSURL *url = [NSURL URLWithString:[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

如果您看到等级,它等于“A+”,
但它只将“A”作为等级发布到服务器。即使我对字符串进行了适当的编码,为什么它无法正确发布请求?
这是必须在服务器上处理的东西吗?

4

1 回答 1

1

+ 号是​​ URL 编码的保留字符(用于“空格”)。虽然 + 的转义值应该是 %2B 之后stringByAddingPercentEscapesUsingEncoding,嗯......它不是。你可以做的是添加一个简单的类别NSString来绕过这个问题。您可以在此处找到相关的博客文章,并在此处找到有关URL 编码的一些信息

于 2012-06-22T20:36:56.353 回答