HTTP reponseのsuggaestedFilenameの中国語の文字化け問題を取ります.

604 ワード

私たちはネットワーク要求をする時、例えばファイルをダウンロードして、元のネットワークで要求したり、第三者のネットワークでフレームを要求したりする時、レスポンスのheaderからfilenameを取ると、訪問したurlの中に中国語があれば、入手したfilenameは文字化けが発生することを発見します.これはレスポンスがConteet DispopsitionのfilenameをASCIIとして処理したからです.
試した後、解決方法は以下の通りです.
NSString *fileName,*str;
const char *byte = NULL;
fileName = [response suggestedFilename];
byte = [fileName cStringUsingEncoding:NSISOLatin1StringEncoding];
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
str = [[NSString alloc] initWithCString:byte encoding:
enc]; //  utf,     NSUTF8StringEncoding