Mysql
 sql >> Base de données >  >> RDS >> Mysql

PHP :problèmes de sortie de l'utf8 à partir de la base de données MySQL à l'aide de PDO

Il existe plusieurs points de défaillance lorsque vous travaillez avec UTF8 :

  • assurez-vous que la table est en utf8

    Utilisez la commande SQL Show Variables; pour vérifier les paramètres de caractères MySQL pour la table.

  • les données insérées sont en utf8

    Vous pouvez essayer des outils comme phpMyAdminer ou Administrateur pour vérifier si les
    données sont insérées correctement. Essayez d'insérer manuellement les données via l'outil. Lors de l'insertion via un script, n'utilisez pas les fonctions de chaîne de base. Utilisez toujours leurs alternatives mbstring. Définir mb_internal_encoding( 'UTF-8' ); pour laisser PHP gérer UTF-8 en interne.

  • les données récupérées sont en utf8

    Je n'utiliserais que $pdo->exec("SET NAMES utf8"); et laissez tomber le reste. Parce queSET NAMES x est équivalent àSET character_set_client = x; SET character_set_results = x; SET character_set_connection = x;

  • les données affichées sont en utf8

    Si cela s'affiche dans une page html, n'oubliez pas de définir la balise meta ou l'en-tête
    "Content-Type: text/html; charset=utf-8" .