我正在尝试让Google Suggestions为希腊语工作,但如果建议中包含的字符不是英语,我会收到错误。
如果查询是“ magni ”,例如响应将包含希腊词“μαγνήσιο”作为建议。 Try it
错误是:
错误域= NSCocoaErrorDomain代码= 261“文件”搜索“不能 使用Unicode(UTF-8)编码文本打开。“ 的UserInfo = {NSURL = http://suggestqueries.google.com/complete/search?q=magni&client=toolbar&hl=el, NSStringEncoding = 4}
方法是:
+ (NSArray *)suggestionsForQuery:(NSString *)query
{
query = [query stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *URLString = [NSString stringWithFormat:@"http://suggestqueries.google.com/complete/search?q=%@&client=toolbar&hl=%@", query, @"el"]; // el is for greek
NSError *error = nil;
NSString *XMLString = [NSString stringWithContentsOfURL:[NSURL URLWithString:URLString] encoding:NSUTF8StringEncoding error:&error];
if (error) {
NSLog(@"Error: %@", error.description);
}
else {
// ...
}
}
我试过了:
将编码设置为NSUTF16StringEncoding但我有一些中文字符。
NSJSONSerialization通过设置“toolbar = firefox”来获取JSON响应,但我得到了同样的错误。
错误域= NSCocoaErrorDomain代码= 3840“无法将数据转换为 字符串40周围的字符串。“UserInfo = {NSDebugDescription = Unable to 将数据转换为字符40周围的字符串。
关于如何修复它的任何想法?