Det finns flera felpunkter när man arbetar med UTF8:
-
se till att tabellen är utf8
Använd SQL-kommandot
Show Variables;
för att kontrollera MySQL-teckeninställningarna för tabellen. -
infogade data är utf8
Du kan prova verktyg som phpMyAdminer eller Administratör för att kontrollera om
data är korrekt infogade. Försök att infoga data via verktyget manuellt. När du infogar via script, använd inte grundläggande strängfunktioner. Använd alltid deras mbstringalternativ. Ställ inmb_internal_encoding( 'UTF-8' );
för att låta PHP hantera UTF-8 internt. -
hämtad data är utf8
Jag skulle bara använda
$pdo->exec("SET NAMES utf8");
och släpp resten. EftersomSET NAMES x
motsvararSET character_set_client = x; SET character_set_results = x; SET character_set_connection = x;
-
visade data är utf8
Om detta visas på en HTML-sida, glöm inte att ställa in metataggen eller rubriken
"Content-Type: text/html; charset=utf-8"
.