我正在开发一款利用Google搜索API并搜索阿拉伯语内容的iPhone应用程序。
每当我在URL中发送包含阿拉伯字母的请求以获取JSON文件格式时,我都会收到错误消息,表明请求已失败。这就是请求的样子:
https://www.googleapis.com/customsearch/v1?oe=utf-8&ie= ISO-8859-6&key=[MY KEY]&cx=013036536707430787589:_pqjad5hr1a&q=جوجل&alt=json
这是我的代码中调用请求并检索数据的方法:
NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.googleapis.com/customsearch/v1?oe=utf-8&ie= ISO-8859-6&key=[MY KEY]&cx=013036536707430787589:_pqjad5hr1a&q=جوجل&alt=json"]] delegate:self];
答案 0 :(得分:6)
您必须在URL中使用百分比编码才能使工作正常,因为您不能只传递URL中的任意字符串。有关详细信息,请参阅this question。基本上,它归结为通过stringByAddingPercentEscapesUsingEncoding:
方法运行字符串。由于此方法仅支持UTF-8编码,因此您还必须在网址中传递ie=utf-8
而不是ie=ISO-8859-6
。