Jeg vil gerne give nogle flere detaljer om løsningen foreslået af vartec hvilket er (afhængigt af din MySQL-installation) den mest korrekte løsning på dit problem. Først og fremmest er tegnsættet/kodningsproblemet i MySQL et noget komplekst emne, som er grundigt dækket i MySQL-manualen Kapitel 9.1 "Understøttelse af tegnsæt" . I dit tilfælde især 9.1.4. "Forbindelse af tegnsæt og sorteringer" vil være mest relevant.
For at gøre det kort:MySQL skal vide, hvilket tegnsæt/kodning din klientapplikation (taler fra databasen, som er dit PHP-script) forventer, da det vil omkode alle strengdata fra det interne tegnsæt/kodning defineret på server-, database-, tabel- eller kolonneniveau ind i forbindelsens tegnsæt/kodning. Du bruger UTF-8 på klientsiden, så du skal fortælle MySQL, at du bruger UTF-8. Dette gøres med MySQL-kommandoen SET NAMES 'utf8'
som skal sendes som den første forespørgsel ved åbning af en forbindelse. Afhængigt af din installation og af det MySQL-klientbibliotek, du bruger i PHP-scriptet, kan dette gøres automatisk ved hver forbindelse.
Hvis du bruger PDO er det bare et spørgsmål om at indstille en konfigurationsparameter
$db = new PDO($dsn, $user, $password);
$db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'");
Det er endnu nemmere at bruge mysqli til at ændre klientens tegnsæt/kodning:
$mysqli = new mysqli("localhost", "user", "password", "db");
$mysqli->set_charset("utf8");
Jeg håber, det vil være med til at gøre det hele mere forståeligt.