0

JSONAPIとの通信にAFNetworkingを使用しています。ドイツのウムラウト(すなわちäöüß)でリクエストを送信することを除いて、すべてがうまくいきます。

共有インスタンスを使用しています

+(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) {
...

ドイツ語のウムラウトを含むパラメーターが渡されたとき、APIが壊れているように見えます。サーバーは正しい文字列を受信しません。

サーバーがjsonの結果でウムラウトを送信する場合、すべてが正常です。

4

1 に答える 1

0
self.stringEncoding = NSUTF8StringEncoding;

問題を解決しました

于 2013-02-23T12:39:50.097 に答える