Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP:Probleme bei der Ausgabe von utf8 aus der MySQL-Datenbank mit PDO

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 Sie mb_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. Weil SET NAMES x entspricht SET 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 .