2010-01-26 67 views
1

例如,如果字符串包含%,我遇到了NSURLRequest问题,并执行了POST。使用POST发送数据,使用字符编码发出

在我的网站,我可以看到编码是ISO-8859-1,utf-8Accept-Charset但出于某种原因,我不能得到这个职位的工作,如果它包含“%& $”等,这似乎是它不会与UTF编码它-8编码。我在下面的代码中做错了什么?

NSData *postData = [credentials dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:NO]; 
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; 
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 
[request setURL:[NSURL URLWithString:@"http://www.website.com/login.php"]]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
[request setHTTPBody:postData]; 

回答

0

您可能想听到“Content-Transfer-Encoding”。

Content-Type:text/plain;字符集= UTF-8

内容传输编码:二进制

,或者如果你有问题,特别是与那些字符

内容传输编码:的base64

编辑: 的“应用程序/ x-www-form-urlencoded“会使”%“符号发生。

相关问题