0

在我的应用程序中,我将一个字符串传递给服务,该服务将一些数据设置为远程数据库。就我的字符串中没有“&”而言,一切都很完美。

我正在使用它来传递参数:

NSString *urlString = [[NSString
 stringWithFormat:@"http://someservice.com/some/some_setstatus.php?status=active&name=%@",
 merchant] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

我的猜测是,当它使用保存在数据库中的名称检查名称时,由于“&”,它无法找到一个。

4

3 回答 3

0

您无法传递“&”,因为它将被视为 URL 参数的分隔符。“&”是保留字符,您可以考虑将“&”编码为允许字符的组合。看看RFC 3986这个问题的答案。

于 2013-04-19T18:10:36.043 回答
0

您需要转义&url 的字符(更多信息:http ://www.ietf.org/rfc/rfc3986.txt )
看看https://github.com/tagyro/GTM/blob/master/Foundation/ GTMNSString%2BURLArguments.h
这是来自他们的 SVN 的 Google Toolbox for Mac 的克隆。

于 2013-04-19T19:23:03.927 回答
-1

我相信您需要对字符串进行 urlEncode 编码,该字符串将正确编码任何特殊字符。有关详细信息,请参阅http://www.w3schools.com/tags/ref_urlencode.asp

问候,

史蒂夫

于 2013-04-19T18:04:07.640 回答