PDO : Dois-je définir un jeu de caractères et des noms ?
Dans le passé, lors de l'utilisation des fonctions mysql_*, il était nécessaire pour définir le jeu de caractères et exécuter une requête SET NAMES pour garantir un codage de caractères correct. Le même principe s'applique aux connexions PDO.
Option PDO
Pour les connexions PDO, vous pouvez spécifier le jeu de caractères dans le cadre de la chaîne de connexion :
$connect = new PDO("mysql:host=$host;dbname=$db;charset=utf8mb4", $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
Pré-PHP 5.3.6
Si vous utilisez PHP avant la version 5.3.6, l'option charset est ignorée. Pour définir le jeu de caractères dans ce cas, vous devez utiliser la méthode exec() de PDO :
$dbh = new PDO("mysql:host=$host;dbname=$db", $user, $password); $dbh->exec("set names utf8mb4");
En définissant le jeu de caractères, vous vous assurez que votre application communique avec la base de données en utilisant le codage de caractères correct, évitant ainsi la corruption des données et problèmes d'affichage.
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!