Beim Arbeiten mit UTF8 gibt es mehrere Fehlerquellen:
-
Stellen Sie sicher, dass die Tabelle utf8 ist
Verwenden Sie den SQL-Befehl
Show Variables;
um die MySQL-Zeicheneinstellungen für die Tabelle zu überprüfen. -
Eingefügte Daten sind utf8
Sie können Tools wie phpMyAdminer ausprobieren oder Administrator um zu prüfen, ob die
Daten korrekt eingefügt wurden. Versuchen Sie, Daten manuell über das Tool einzufügen. Verwenden Sie beim Einfügen per Skript keine einfachen Zeichenfolgenfunktionen. Verwenden Sie immer ihre mbstringalternatives. Setzen Siemb_internal_encoding( 'UTF-8' );
um PHP UTF-8 intern verarbeiten zu lassen. -
abgerufene Daten sind utf8
Ich würde nur
$pdo->exec("SET NAMES utf8");
verwenden und den Rest fallen lassen. WeilSET NAMES x
entsprichtSET character_set_client = x; SET character_set_results = x; SET character_set_connection = x;
-
angezeigte Daten sind utf8
Wenn dies in einer HTML-Seite angezeigt wird, vergessen Sie nicht, das Meta-Tag oder den Header
"Content-Type: text/html; charset=utf-8"
zu setzen .