我正在尝试使用以下网址从文本生成语音邮件:
"http://translate.google.com/translate_tts?tl=es&q=La+castaña+está+muy+buena"
使用python,但urllib
库失败并显示:
File "/usr/lib/python2.7/urllib.py", line 227, in retrieve
url = unwrap(toBytes(url))
File "/usr/lib/python2.7/urllib.py", line 1051, in toBytes
" contains non-ASCII characters")
UnicodeError: URL u'http://translate.google.com/translate_tts?tl=es&q=La+casta\xf1a+est\xe1+muy+buena' contains non-ASCII characters
如何将具有语音含义的特殊字符(ñ, á, é, í, ó, ú
)传递给Google t2s服务?
答案 0 :(得分:0)
我遇到了同样的问题并找到了解决方案in this question:
我所要做的就是传递一个额外的参数:&ie=UTF-8
那就是它。
我生成的PHP看起来像:
$q = "Años más, años menos";
$data = file_get_contents('http://translate.google.com/translate_tts?tl=es&ie=UTF-8&q='.$q;
注意GET参数的translate_tts?tl=es&ie=UTF-8&q='.$q
部分。