Před dotazem zkuste:
mysql_query("SET NAMES 'utf8'", $conn);
*úpravy *
Zřejmě v závislosti na verzi MySQL můžete být také požádáni o použití:
mysql_query("SET CHARACTER SET utf8", $conn);
Jedna poslední poznámka, databáze musí používat znakovou sadu UTF-8, aby bylo zajištěno toto:
ALTER <database_name> DEFAULT CHARACTER SET utf8;
*Další úpravy *
Po přečtení vašich úprav si myslím, že se jedná o problém s vaším kódováním HTML/PHP. Na stránce odesílající znaky se ujistěte, že jste správně nastavili záhlaví:
header('Content-Type: text/html; charset=UTF-8');
Měli byste to také nastavit pomocí meta tagů:
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
Poté nastavte vícebajtové kódování pomocí mb_internal_encoding()
funkce:
mb_internal_encoding("UTF-8");
PHP standardně používá ISO-8859-1.