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

Équivalent PDO de mysql_client_encoding() ?

Deux jeux de caractères différents sont en cause :

Pour vérifier la valeur actuelle de ces variables à l'aide de PDO, vous pouvez récupérer les résultats du SHOW VARIABLES déclaration; par exemple :

$qry = $db->query("SHOW VARIABLES LIKE 'character_set_client'");

La documentation pour mysql_client_encoding() est quelque peu ambigu, car il indique :

Cependant, aucune variable système de ce type n'existe :je ne suis donc pas sûr de ce qu'elle renverrait.

Enfin, plutôt que de définir un MYSQL_ATTR_INIT_COMMAND , vous pouvez spécifier le jeu de caractères souhaité dans le DSN (comme mentionné dans le manuel ):

$db = new PDO("mysql:dbname=$db;host=$host;charset=$charset", $user, $password);