Maison > Article > base de données > Comment résoudre les problèmes d’encodage UTF-8 avec PDO et MySQL ?
Problèmes d'encodage UTF-8 avec PDO et MySQL
Lorsqu'ils travaillent avec PDO et une base de données MySQL, les utilisateurs peuvent rencontrer des situations où UTF-8 les données codées ne sont pas correctement insérées ou récupérées, apparaissant à la place sous forme de points d'interrogation (?????????). Cela est dû aux différences dans la configuration de la base de données et les paramètres PHP.
Solution possible : définir UTF-8 via la configuration PDO
Une solution efficace consiste à définir l'UTF-8 jeu de caractères et classement lors de l'initialisation de la connexion PDO. En ajoutant le code suivant au constructeur PDO, l'encodage UTF-8 sera appliqué :
$pdo = new PDO( 'mysql:host=hostname;dbname=defaultDbName', 'username', 'password', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") );
Cette approche garantit que l'UTF-8 est activé explicitement sur la connexion, quels que soient les paramètres de base de données ou PHP précédents.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!