Problème d'encodage UTF-8 dans PDO et MySQL expliqué
Lorsqu'ils travaillent avec PDO et MySQL en PHP, les utilisateurs peuvent rencontrer un problème pour insérer UTF -8 données encodées dans la base de données. Les données apparaissent tronquées sous la forme « ? » caractères lors de l'insertion. Ce problème provient d'un manque de configuration appropriée du jeu de caractères UTF-8.
Pour résoudre ce problème, il est crucial d'exécuter les requêtes SET NAMES et SET CHARACTER SET après avoir établi la connexion PDO. Cependant, dans certains scénarios, ces requêtes à elles seules peuvent ne pas résoudre le problème.
Selon la réponse fournie, il est recommandé d'employer une approche alternative :
<code class="php">$pdo = new PDO( 'mysql:host=hostname;dbname=defaultDbName', 'username', 'password', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") );</code>
En ajoutant le PDO : Option MYSQL_ATTR_INIT_COMMAND, UTF-8 est appliqué lors de l'initialisation de la connexion PDO. Cette méthode résout efficacement le problème de codage UTF-8 en garantissant que la connexion à la base de données est définie sur UTF-8 dès le départ.
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!