2010-01-26 5 views
1

J'ai des problèmes avec mon NSURLRequest et je fais un POST chaque fois que la chaîne contient%, par exemple.Envoi de données avec POST, problème avec l'encodage de caractères

Sur mon site, je peux voir que le codage est ISO-8859-1,utf-8 pour Accept-Charset mais pour une raison que je ne peux pas obtenir le poste de travail si elle comprend « % & $ », etc. Il semble que ce ne sera pas encoder avec UTF -8 encodage. Est-ce que je fais quelque chose de mal dans le code ci-dessous?

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]; 

Répondre

0

Vous pouvez entendre "Content-Transfer-Encoding".

Type de contenu: text/plain; charset = UTF-8

Content-Transfer-Encoding: binaire

ou si vous avez des problèmes surtout avec ces caractères

Content-Transfer-Encoding: base64

EDIT: L ' « application/x-www-form-urlencoded "fait apparaître les signes"% ".