Transmission des informations sur le jeu de caractères aux connexions PDO
Lorsque vous travaillez avec des connexions MySQL via la bibliothèque PDO (PHP Data Objects) de PHP, il est important de vous assurer que les informations sur le jeu de caractères sont correctement traitées pour permettre une gestion et un affichage corrects des données. Les versions précédentes de l'extension mysql_* proposaient deux manières courantes de spécifier les jeux de caractères : mysql_set_charset() et mysql_query("SET NAMES 'UTF8'").
Avec PDO, la spécification du jeu de caractères est gérée différemment. Deux méthodes sont disponibles :
Utiliser une option DSN de jeu de caractères :
Inclure l'option charset dans votre connexion PDO chaîne pour spécifier le jeu de caractères. Par exemple :
$connect = new PDO("mysql:host=$host;dbname=$db;charset=utf8mb4", $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
Utilisez la méthode exec() (pour les versions PHP antérieures à 5.3.6) :
Dans les versions PHP antérieures à 5.3.6, vous pouvez définir le jeu de caractères à l'aide de la méthode exec() après avoir établi le Connexion PDO :
$dbh = new PDO("mysql:host=$host;dbname=$db", $user, $password); $dbh->exec("set names utf8mb4");
Il est important de noter que, par défaut, PDO ne définit pas automatiquement le jeu de caractères. Par conséquent, il est recommandé de toujours spécifier le jeu de caractères en utilisant l'une des méthodes décrites ci-dessus pour garantir que les données sont traitées et affichées correctement.
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!