Nie znalazłem nigdzie poprawnej odpowiedzi na to pytanie. Mam kod PHP który ma na celu przeczytanie po polsku wpisanej frazy:
<?php if($_POST){ $url = "http://translate.google.com/translate_tts?tl=pl&q=".$text; $file = 'filename'; $file = "audio/" . $file . ".mp3"; file_put_contents($file, $mp3); } ?> <!doctype html> <html> <head> <meta charset="UTF-8"> <title>Text to Speech</title> </head> <body> <form action="" method="post"> Wprowadż tekst: <input name="textbox"></input> </form> <?php if($_POST){?> <audio autoplay="autoplay" hidden="true"> </audio> <?php }?> </body> </html>
Problem jest w tym, że po wywołaniu echo $url, adres pokazuje się poprawny z polskimi znakami (np. po wpisaniu wyrazu Złącze), ale do google zostaje wysłany adres z pokręconymi znakami (zamiast przeczytać złącze, mówi jakieś kropki

PS. Uprzedzając pytania: Mam UTF-8 bez BOM (zresztą obsługa polskich znaków jest, tylko coś z tym urlem)