---求助---Google TTS API:使用PHP編碼GET請求
問題已解決。解決方法很簡單:
file_get_contents("http://translate.google.com/translate_tts?tl=de&q=".urlencode($str)."&ie=UTF-8")
對於那些來到這裏,從搜索引擎:請確保您的文件的字符集設置爲UTF-8,包括IE = UTF-8參數爲URL,進行urlencode您的字符串。一切都應該沒問題。
原職位是:
我有做PHP發送一個正確編碼GET請求,谷歌TTS API的一個問題。
$str='This is a German string which contains crazy Umlaute like ä (like in Häuser) or ü (like in Übermensch). Sehr deutsch halt.';
file_get_contents("http://translate.google.com/translate_tts?tl=de&q=".$str."&ie=UTF-8");
所有包含的PHP文件都以UTF-8編碼(無字節順序標記)。 Google TTS返回給我的是一個MP3文件,它表示「Umlaute」不像「Übermensch」,但像A〜1/4bermensch。這個問題與客戶端無關。
我認爲谷歌期待一個ASCII字符串,這可能是我的問題?當我手動輸入GET行到我的瀏覽器時,它會正確拼寫所有內容。另請參見:
stackoverflow - Google TTS API for Arabic, Chinese and Greek
感謝您的幫助!