MySQL utför teckenuppsättningskonverteringar i farten till något som kallas anslutningen teckenuppsättning . Du kan specificera denna teckenuppsättning med hjälp av SQL-satsen
SET NAMES utf8
eller använd en specifik API-funktion såsom mysql_set_charset() :
mysql_set_charset("utf8", $conn);
Om detta görs på rätt sätt behöver du inte använda funktioner som utf8_encode() och utf8_decode().
Du måste också se till att webbläsaren använder samma kodning. Detta görs vanligtvis med en enkel rubrik:
header('Content-type: text/html;charset=utf-8');
(Observera att teckenuppsättningen heter utf-8 i webbläsaren men utf8 i MySQL.)
I de flesta fall är anslutningsteckenuppsättningen och webbteckenuppsättningen det enda du behöver hålla reda på, så om det fortfarande inte fungerar är det förmodligen något annat du gör fel. Testa att experimentera lite, det tar vanligtvis ett tag att förstå det.