2017-08-03 8 views
0

AFNetworking iOSでUTF-8以外の英語の文字(たとえば、中国語の文字)をエンコード/設定するにはどうすればよいですか?AFNetworking iOSで英語以外の文字をリクエストするにはどうすればいいですか?

マイコード:

NSMutableSet *contentTypes = [[NSMutableSet alloc] initWithSet:self.httpManager.responseSerializer.acceptableContentTypes]; 
    [contentTypes addObject:@"text/plain"]; 
    [contentTypes addObject:@"text/html"]; 
    [contentTypes addObject:@"application/x-www-form-urlencoded"]; 
    [contentTypes addObject:@"charset=UTF-8"]; 
    [contentTypes addObject:@"application/json"]; 

    self.httpManager.responseSerializer.acceptableContentTypes = 
    [NSSet setWithArray:@[@"text/plain", 
          @"text/html", 
          @"application/x-www-form-urlencoded", 
          @"charset=UTF-8", 
          @"application/json"]]; 

バックエンドではなく、正しい文字のこの

åæå¸

のようなものを取得します。

+0

これはあなたのバックエンドがUTF-8以外のものをデコードしていることを意味するわけではありませんか? – Pochi

+0

@ポーチ私はバックエンドコードに触れることができないので、私は確信していませんが、それはAndroidアプリのために働く.. – Rendy

+0

@Rendyあなたは郵便配達でサービスを呼び出すときに同じデータを得ましたか? – Nirmalsinh

答えて

0

私のアプリケーションに同じ問題があります。以下は私のコードです、それがあなたを助けることを願っています。

NSData *data = [strStringWithUnicode dataUsingEncoding:NSUTF8StringEncoding]; 
NSString *goodValue = [[NSString alloc] initWithData:data encoding:NSNonLossyASCIIStringEncoding]; 
if(goodValue == nil) 
    return strStringWithUnicode; 
return goodValue; 
0

最後に、これは解決策である:

[self.httpManager.requestSerializer setValue:@"application/x-www-form-urlencoded;charset=UTF-8" forHTTPHeaderField:@"Content-Type"]; 
関連する問題