我通过以下方式测试了一个可行的翻译 API url:
http://translate.google.com/translate_a/t?client=t&text=%E5%BB%A3%E5%A0%B4&langpair=zh|zh-CN
它返回正确的结果,如下所示,格式为 JSON:
{"sentences":[{"trans":"广场","orig":"广场","translit":"Guǎngchǎng"}],"src":"zh-CN"}
但是,当我尝试在 XCode 中使用此功能时,我遇到了这个问题......这是我的代码:
NSData *数据;
NSString *urlPath = [NSString stringWithFormat:@"/translate_a/t?client=t&text=%@&langpair=zh|zh-CN",qText];
NSURL *url = [[NSURL alloc] initWithScheme:@"http"
host:@"translate.google.com"
path:urlPath];
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:url];
[request setHTTPMethod:@"GET"];
NSURLResponse *response;
NSError *error;
data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; //Problem's here. It returns nil.
NSLog(result);
最初我猜是编码问题,所以我也尝试了其他编码 (NSISOLatin1StringEncoding) ,但我得到了错误的答案: {"sentences":[{"trans":"ã ","orig":"ã ","translit": "tu¨¯"}],"src":"zh-CN"}
有谁知道如何解决这个问题?非常感谢!