Der er flere fejlpunkter, når du arbejder med UTF8:
-
sørg for, at tabellen er utf8
Brug SQL-kommando
Show Variables;
for at kontrollere MySQL-tegnindstillingerne for tabellen. -
indsatte data er utf8
Du kan prøve værktøjer som phpMyAdminer eller Administrator for at kontrollere, om
dataene er indsat korrekt. Prøv at indsætte data via værktøjet manuelt. Når du indsætter via script, skal du ikke bruge grundlæggende strengfunktioner. Brug altid deres mbstringalternativer. Indstilmb_internal_encoding( 'UTF-8' );
at lade PHP håndtere UTF-8 internt. -
hentede data er utf8
Jeg ville kun bruge
$pdo->exec("SET NAMES utf8");
og slip resten. FordiSET NAMES x
svarer tilSET character_set_client = x; SET character_set_results = x; SET character_set_connection = x;
-
viste data er utf8
Hvis dette vises på en html-side, så glem ikke at indstille metatagget eller headeren
"Content-Type: text/html; charset=utf-8"
.