Configuration de connexion PDO : gestion des jeux de caractères
Lors de l'établissement d'une connexion à l'aide d'objets de données PHP (PDO), il est crucial de prendre en compte le caractère définir la gestion, en particulier si vous travaillez avec des caractères non-ASCII. À cet égard, le PHP PDO fournit des options pour définir le jeu de caractères.
Approche de la chaîne de connexion
Dans les versions PDO à partir de PHP 5.3.6, vous pouvez spécifier le caractère défini directement dans la chaîne de connexion. Par exemple, pour définir le jeu de caractères sur 'utf8mb4' :
$connect = new PDO("mysql:host=$host;dbname=$db;charset=utf8mb4", $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
Approche DBH Exec pour les anciennes versions de PHP
Cependant, si vous utilisez une ancienne version de PHP (avant 5.3.6), l'option charset dans la chaîne de connexion sera ignorée. Dans de tels cas, vous devez définir le jeu de caractères en utilisant l'approche suivante :
$dbh = new PDO("mysql:host=$host;dbname=$db", $user, $password); $dbh->exec("set names utf8mb4");
Approche Legacy MySQL_*
L'extrait de code que vous avez fourni, qui implique l'utilisation mysql_set_charset et mysql_query("SET NAMES 'UTF8'"), s'applique aux anciennes fonctions MySQL_*, qui sont désormais obsolètes et découragé. PDO est l'approche recommandée pour se connecter et interagir avec les bases de données MySQL en PHP.
Conclusion
En suivant ces directives, vous pouvez configurer efficacement la gestion des jeux de caractères dans PDO connexions, garantissant que les caractères non-ASCII sont gérés correctement dans vos applications PHP.
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!