Jeg tager lige et vildt stik ud i mørket:
phpMyAdmin får det faktisk rigtigt. Den, der ikke virker, er din brugerdefinerede grænseflade, fordi den ikke indstiller forbindelseskodningen korrekt. Så alle de data, du indsætter via den, er rodet i databasen, men har tilfældigvis en ren rundtur i din applikation. phpMyAdmin indsætter faktisk UTF-8-data, som roder, når de hentes via din forkerte forbindelse.
Se UTF-8 hele vejen igennem og Håndtering af Unicode fra front til bagside i en webapp .