Maison >développement back-end >tutoriel php >Comment définir le codage des caractères dans les connexions à la base de données PDO ?

Comment définir le codage des caractères dans les connexions à la base de données PDO ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-15 08:08:13904parcourir

How to Set Character Encoding in PDO Database Connections?

Encodage des caractères PDO

Dans les connexions de bases de données précédentes utilisant MySQL, il était courant de définir le jeu de caractères manuellement à l'aide de mysql_set_charset() et mysql_query( "DÉFINIR LES NOMS 'UTF8'"). Cependant, lors de l'utilisation de PDO (PHP Data Objects), le jeu de caractères peut être spécifié dans la chaîne de connexion.

Chaîne de connexion PDO avec jeu de caractères

Pour définir le jeu de caractères dans la chaîne de connexion, ajoutez l'option charset au constructeur PDO. Par exemple :

$connect = new PDO("mysql:host=$host;dbname=$db;charset=utf8mb4", $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

Versions PHP antérieures à 5.3.6

Si vous utilisez des versions PHP antérieures à 5.3.6, l'option charset dans la chaîne de connexion a été ignoré. Dans ce cas, vous pouvez utiliser le code suivant pour définir le jeu de caractères après la connexion :

$dbh = new PDO("mysql:host=$host;dbname=$db",  $user, $password);
$dbh->exec("set names utf8mb4");

En utilisant ces méthodes, vous pouvez vous assurer que vos connexions PDO ont le codage de caractères correct pour votre application.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn