今天遇到的一个问题。给出一个url:
http://api.douban.com/v2/movie/search?q=美国
对其直接进行解析,如下:
NSString *str = @"http://api.douban.com/v2/movie/search?q=美国";
totalData = [[NSMutableData alloc] init];
NSURL *url = [NSURL URLWithString:str];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self];
if (connection == nil) {
NSLog(@"connection = nil");
return;
}
结果出错,错误为bad url。也就是说编译器不认识这个url。
后来经尝试,发现将美国改称America即可,但这显然不可取,必须找到解决中文识别的方法。
其实解决方法也很简单,就是进行转码,让编译器认识中文即可。
在上述代码中添加如下代码:
str = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
这样就不会出错了。