我的ios应用程序必须通过一些php页面发送/检索一些数据。这是一个使用i STHTTPRequest的示例调用:
__block STHTTPRequest *up = [STHTTPRequest requestWithURLString:[NSString stringWithFormat:@"%@%@",PATHSERVER,@"retrivedata.php"]];
up.encodePOSTDictionary=NO;
up.postDataEncoding=NSUTF8StringEncoding;
up.POSTDictionary = @{@"name":@"Name", @"surname":@"Surname"};在我决定插入如下内容之前,一切都是正常的:
up.POSTDictionary = @{@"name":@"Na&me", @"surname":@"Surname"};在这种情况下,
print_r($_POST);在retrivedata.php中,结果为:
Array
(
[name] => Na
[surname] => Surname
)名称在"&“字符索引处被剪切。我尝试过这样的方法,但没有成功:
utf8_encode/utf8_decode($name)似乎名称到达retrivedata.php已经被剪切了,所以我不能使用任何字符转换/编码...在我的STHTTPRequest中,我已经尝试设置:
up.encodePOSTDictionary=YES;使用此设置,我可以将"&“作为$amp发送;但如果我使用SELECT来检索该值,则无法通过以下方式将其转换为普通字符串
html_entity_decode();它仍然保留着
&我该怎么做?我的STHTTPRequest发送'Na&me‘,但它在retrivepage.php中为$_POST[]空白
发布于 2015-10-27 23:22:34
我对shttprequest并不是很熟悉,但是你应该对它进行url编码。它将看起来像“Na%26Me”网址编码的。在这篇文章的后面,你会看到“Na&me”
希望它能有所帮助:)
https://stackoverflow.com/questions/33371714
复制相似问题