2010-09-08 93 views
3
NSString *soundURL = [NSString stringWithFormat:@"http://translate.google.com/translate_tts?q=%@&tl=%@",strTextOfFilter,strCodeOfLanguage]; 
     NSLog(@"URL : %@",soundURL); 

这个节目:http://translate.google.com/translate_tts?q=%E4%BD%A0%E5%A5%BD&tl=zh-TW翻译错误

复制网址到Firefox浏览器。它是正确的中文翻译,但对Safari的浏览器,它是错误的!为什么翻译中文是错误的。别人的语言是对的! 请帮助我!

NSData *soundData = [NSData dataWithContentsOfURL:[NSURL URLWithString:soundURL]]; 
    NSLog(@"returnSoundData:%@",[NSURL URLWithString:soundURL]); 
    NSError *err = nil; 
    AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithData:soundData error: &err]; 
    [player play]; 

回答

4

只需在网址的末尾显示&ie=UTF-8,无论是在Safari中还是在您的代码中。

http://translate.google.com/translate_tts?q=%E4%BD%A0%E5%A5%BD&tl=zh-TW&ie=UTF-8 

完成这项工作。我猜Google服务器被使用的编码弄糊涂了。

+0

非常感谢!没关系!我想成为你的朋友! – raien 2010-09-08 02:29:29

+0

不客气:)作为另一个东亚人,我可以感受到你对编码的痛苦...... – Yuji 2010-09-08 02:57:57