Maison >développement back-end >tutoriel php >Comment corriger l'erreur « PDO::__construct() : Server Sent Charset (255) Unknown to the Client » dans Symfony 3 ?
Lors de la tentative d'établissement d'une connexion à une base de données MySQL dans un Symfony 3, les utilisateurs peuvent rencontrer l'erreur suivante :
PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers.
Ce problème est dû à un changement dans la valeur par défaut de MySQL. jeu de caractères dans la version 8.0.1 vers utf8mb4. Certains clients, tels que PHP 7.1.3, peuvent ne pas reconnaître ce jeu de caractères.
L'erreur se produit lorsque le serveur MySQL communique son jeu de caractères par défaut au client, mais que celui-ci ne parvient pas à le reconnaître. il. Ce problème affecte les clients utilisant le pilote pdo_mysql, y compris PHP.
Avant MySQL 8.0.1, le jeu de caractères par défaut était utf8. Cependant, MySQL 8.0.1 a introduit utf8mb4 comme nouveau paramètre par défaut, qui offre une prise en charge plus large des caractères et une meilleure gestion des caractères Unicode.
La résolution idéale consiste à mettre à niveau le client vers une version qui reconnaît utf8mb4. Cependant, à titre de solution temporaire, les utilisateurs peuvent configurer manuellement le jeu de caractères du serveur sur utf8, qui est compatible avec les clients non mis à niveau.
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci character-set-server = utf8
Redémarrez MySQL après avoir effectué ces modifications. Cela garantira la compatibilité avec l'ancienne version du client.
Il est important de noter que la mise à niveau du client reste la solution privilégiée à long terme pour résoudre ce problème.
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!