Jeg kæmpede med det samme problem i lang tid. Kør denne forespørgsel, så snart du opretter forbindelse til databasen, og din webapplikation vil vise tegn, som de vises i phpmyadmin:
SÆT NAVNE 'utf8'
Af en eller anden grund er MySQL sat op på mine systemer til at antage, at input og output er kodet som latin1, hvilket betyder, at når jeg sender det utf8 input, gemmer det det forkert i databasen, men fordi konverteringen vendes til output, fortrydes rodet og det vises korrekt i browseren (undtagen når du bruger phpmyadmin, som viser det trofast). Dette er kun sandt, når konverteringen resulterer i tegn, der er tilladt af det tegnsæt, der bruges i databasefeltet, hvor det er gemt, så du kan få fejl, medmindre du forhindrer denne konvertering i at ske med ovenstående forespørgsel.