API TTS Google: кодирование запроса GET с помощью PHP

— РЕШЕННО —

Задача решена. Решение прост:

file_get_contents("http://translate.google.com/translate_tts?tl=de&q=".urlencode($str)."&ie=UTF-8") 

Для тех, кто приходит из поисковой системы: убедитесь, что вы установите кодировку файлов в UTF-8, включите в URL-адрес параметр ie = UTF-8, urlencode свою строку. Тогда все должно быть хорошо.

ОРИГИНАЛЬНАЯ ПОЧТА БЫЛА:

У меня возникла проблема с отправкой PHP правильно закодированного запроса GET в API TTS Google.

     $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. Эта проблема не имеет ничего общего с клиентской стороной.

    Я думаю, что Google ожидает строку ASCII, это может быть моей проблемой? Однако, когда я набираю строку GET в свой браузер вручную, все правильно написано. Смотрите также:

    stackoverflow – API TTS Google для арабского, китайского и греческого языков

    Спасибо за помощь!!

    Related of "API TTS Google: кодирование запроса GET с помощью PHP"

    Вы должны установить URL-адрес кодировки Parameter & ie = utf-8 и кодировку самого файла python: #coding: utf-8 и обязательно сохраните файл .py с помощью кодировки utf-8 (не iso-8859-1 ).