MySQL udfører tegnsætkonverteringer i farten til noget, der kaldes forbindelsen tegnsæt . Du kan angive dette tegnsæt ved hjælp af sql-sætningen
SET NAMES utf8
eller brug en specifik API-funktion såsom mysql_set_charset() :
mysql_set_charset("utf8", $conn);
Hvis dette gøres korrekt, er der ingen grund til at bruge funktioner såsom utf8_encode() og utf8_decode().
Du skal også sørge for, at browseren bruger den samme kodning. Dette gøres normalt ved hjælp af en simpel header:
header('Content-type: text/html;charset=utf-8');
(Bemærk, at tegnsættet hedder utf-8 i browseren, men utf8 i MySQL.)
I de fleste tilfælde er forbindelsestegnsættet og webtegnsættet de eneste ting, du skal holde styr på, så hvis det stadig ikke virker, er der sandsynligvis noget andet, du gør forkert. Prøv at eksperimentere lidt med det, det tager normalt et stykke tid at forstå det.