2013-02-22 2 views
0

Я использую AFNetworking для связи с моим JSON API. Все прекрасно, за исключением отправки запросов с немецкими умляутами (т. Е. Ä ö ü ß).AFNetworking umlauts

Я использую общий экземпляр

+(LFMessaging*)shared 
{ 
    static LFMessaging *sharedInstance = nil; 
    static dispatch_once_t oncePredicate; 
    dispatch_once(&oncePredicate, ^{ 
     sharedInstance = [[self alloc] init]; 
    });  
    return sharedInstance; 
} 

для передачи данных я использую подкласс AFHTTPClient с помощью этого метода:

[parameters setValue:cmd forKey:@"cmd"]; 
NSMutableURLRequest *apiRequest = 
[self multipartFormRequestWithMethod:@"POST" 
           path:[NSString stringWithFormat:@"http://%@%@", _domain, _target] 
          parameters:(NSDictionary*)parameters 
      constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) { 
       //TODO: attach file if needed 
      }]; 

AFJSONRequestOperation* operation = [[AFJSONRequestOperation alloc] initWithRequest: apiRequest]; 
operation.JSONReadingOptions = NSJSONReadingMutableContainers; 

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { 
... 

только когда параметр с немецким умляутом исты прошел апи кажется сломать. сервер не получает правильную строку.

Если сервер отправляет умлауты в результате json, все в порядке.

ответ

0
self.stringEncoding = NSUTF8StringEncoding; 

решена проблема