Mysql
 sql >> Database >  >> RDS >> Mysql

PHP:problemi nell'output di utf8 dal database MySQL utilizzando PDO

Ci sono più punti di errore, quando si lavora con UTF8:

  • assicurati che la tabella sia utf8

    Usa il comando SQL Show Variables; per controllare le impostazioni dei caratteri MySQL per la tabella.

  • i dati inseriti sono utf8

    Potresti provare strumenti come phpMyAdminer o Amministratore per verificare se i
    dati sono inseriti correttamente. Prova a inserire manualmente i dati tramite lo strumento. Quando inserisci tramite script, non utilizzare le funzioni di base delle stringhe. Usa sempre le loro mbstringalternative. Imposta mb_internal_encoding( 'UTF-8' ); per consentire a PHP di gestire internamente UTF-8.

  • i dati recuperati sono utf8

    Userei solo $pdo->exec("SET NAMES utf8"); e lascia perdere il resto. PerchéSET NAMES x è equivalente aSET character_set_client = x; SET character_set_results = x; SET character_set_connection = x;

  • i dati visualizzati sono utf8

    Se viene visualizzato in una pagina html, non dimenticare di impostare il meta tag o l'intestazione
    "Content-Type: text/html; charset=utf-8" .