MySQL provádí konverze znakových sad za běhu na něco, co se nazývá připojení znaková sada . Tuto znakovou sadu můžete zadat pomocí příkazu sql
SET NAMES utf8
nebo použijte specifickou funkci API, jako je mysql_set_charset() :
mysql_set_charset("utf8", $conn);
Pokud se to udělá správně, není potřeba používat funkce jako utf8_encode() a utf8_decode().
Musíte se také ujistit, že prohlížeč používá stejné kódování. To se obvykle provádí pomocí jednoduché hlavičky:
header('Content-type: text/html;charset=utf-8');
(Všimněte si, že znaková sada se nazývá utf-8 v prohlížeči, ale utf8 v MySQL.)
Ve většině případů jsou znaková sada připojení a znaková sada webu jedinými věcmi, které musíte sledovat, takže pokud to stále nefunguje, pravděpodobně děláte něco jiného špatně. Zkuste s tím trochu experimentovat, obvykle to chvíli trvá, než to plně pochopíte.