Maison >base de données >tutoriel mysql >Pourquoi mon application Symfony 3 obtient-elle une erreur « PDO::__construct() : Le serveur a envoyé un jeu de caractères (255) inconnu au client » lors de la connexion à MySQL ?
Erreur PDO::__construct() : jeu de caractères du serveur inconnu du client
Lors de la tentative d'établissement d'une connexion à une base de données MySQL à partir d'une application Symfony 3 , vous pourriez rencontrer ce qui suit erreur :
PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers
Problème :
Cette erreur survient car le serveur MySQL transmet un jeu de caractères (255), qui n'est pas reconnu par le client. Le problème provient d'un changement récent dans MySQL 8, où le jeu de caractères par défaut a été modifié en utf8mb4. Cependant, certains clients, dont celui utilisé par PDO, ne sont pas au courant de ce changement, ce qui entraîne l'erreur.
Solution :
Pour résoudre ce problème, vous devez deux options :
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci character-set-server = utf8
En activant le jeu de caractères utf8 sur le serveur, vous pouvez le rendre compatible avec les clients qui le font ne prend pas en charge utf8mb4. Cela résoudra l'erreur de non-concordance de jeu de caractères et vous permettra d'établir une connexion réussie à la base de données MySQL.
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!