我看了很多线程,但我找不到正确的解决方案,或者它没有用......它让我很生气^^.
我尝试了很多东西,但没有一个能正常工作.
我的问题很容易..我想;)
我想从我的iPhone发送文本到PHP脚本,然后将其保存在SQL数据库中.
首先,特殊字符不起作用.一个"将是&"(没有\:O)等等.接下来从iphone到php的表情符号改为例如ðŸ~.
这是我的iPhone代码发送文本到PHP:
NSString *post = [[NSString alloc] initWithFormat:@"&action=messageAdd&text=%@"textField.text];
NSData * postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:NO];
NSString * postLength = [NSString stringWithFormat:@"%d",[postData length]];
NSMutableURLRequest * request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://xxxx.com/xx.php"]]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
Run Code Online (Sandbox Code Playgroud)
这里是PHP文件中的代码
header('Content-Type: text/html; charset=utf-8');
..
..
..
$text = htmlentities(trim(stripinput($_POST['text'])));
Run Code Online (Sandbox Code Playgroud)
这让我对所有不同的变体感到困惑.我希望有人能引导我朝着正确的方向前进.代码总是欢迎:)
当您将带有表情符号的数据字符串发送到您的php页面时,您必须使用以下编码:
NSData *data = [string dataUsingEncoding:NSNonLossyASCIIStringEncoding];
Run Code Online (Sandbox Code Playgroud)
如果你必须发送一个这样的数据字符串,你可以用字符串转换它:
NSString str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)
所以,你会有一个像\ ucode而不是微笑的字符串.
当您从数据库到应用程序收到字符串时,您可以执行以下操作:
NSString str = [[NSString alloc] initWithData:data encoding:NSNonLossyASCIIStringEncoding];
Run Code Online (Sandbox Code Playgroud)
而名利已经完成.;)
| 归档时间: |
|
| 查看次数: |
3733 次 |
| 最近记录: |