1

我的 ios 应用程序必须通过一些 php 页面发送/检索一些日期。这是一个使用 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[] 为空白

4

1 回答 1

1

我对 shttprequest 不是很熟悉,但你应该对它进行 url 编码。URL 编码后看起来像“Na%26me” 。稍后在帖子中您将拥有“姓名和我”

希望能帮助到你 :)

于 2015-10-27T15:22:33.983 回答