网络请求. url中有中文时

网络相关

网络请求. url中有中文时

网络请求中, 当url中有中文时
// 对url中的中文进行转码(如果已知url中的中文没有进行utf-8转码)
url = [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

如果知道url中的中文既可能已经转码,也可能没有转码,那么使用如下的方法,当不管url中的中文是否已经utf-8转码了,都可以解决将中文字符转为utf-8的问题,且不是二次转码

NSLog(@"原url:%@", url);
    NSString *encodedString = (NSString *)
    CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,

                                                              (CFStringRef)url,

                                                              (CFStringRef)@"!$&'()*+,-./:;=?@_~%#[]",

                                                              NULL,

                                                              kCFStringEncodingUTF8));
    NSLog(@"转码url:%@",  encodedString);

摘自:

  • iOS 只对URL中的中文进行转码
  • IOS开发网络篇之──ASIHTTPRequest详解

  • iOS网络请求之ASI与AFN的二次封装及意义

你可能感兴趣的:(网络请求. url中有中文时)