iOS開発文字列に中国語の注意が!!!

926 ワード

私自身が出会った問題を話しましょう.コメントの増加を歓迎します.
1、AFNetworkingを使用してファイルをダウンロードし、ダウンロードリンクに中国語が含まれ、ダウンロードに失敗した
解決方法:通常のダウンロードリンクの検証に加えて、符号化のプロセスを追加します.
NSCharacterSet *characterSet = [NSCharacterSet URLQueryAllowedCharacterSet];
NSString *url = [downloadUrl stringByAddingPercentEncodingWithAllowedCharacters:characterSet];

NSCharacterSetについては、こちらの簡単な文書に移動してください.
2、文字列中の中国語は符号化されており、使用することはGBK符号化であり、共通のUTF-8と一致しない
解決方法:GBK->UTF-8
ios9.0より前
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding (kCFStringEncodingGB_18030_2000);
NSString *strA = [address stringByReplacingPercentEscapesUsingEncoding:enc];

ios9.0以降
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding (kCFStringEncodingGB_18030_2000);
NSString *strA = [NSString stringWithContentsOfURL:[NSURL URLWithString:address] encoding:enc error:nil];