Maison >base de données >tutoriel mysql >Erreur de connexion MySQL PDO : comment résoudre « Jeu de caractères envoyé par le serveur (255) inconnu du client » ?
Erreur de non-concordance de jeu de caractères : le serveur a envoyé un jeu de caractères inconnu (255)
Une tentative de connexion à une base de données MySQL à partir de Symfony 3 à l'aide de PDO entraîne le résultat erreur suivante : PDO::__construct() : le serveur a envoyé un jeu de caractères (255) inconnu du client. S'il vous plaît, faites rapport aux développeurs. Cette erreur peut se produire en raison d'une incompatibilité de jeu de caractères entre le serveur et le client.
Cause
Dans MySQL 8, le jeu de caractères par défaut est devenu utf8mb4. Cependant, certains clients, tels que PDO, peuvent ne pas reconnaître ce jeu de caractères. Lorsque le serveur envoie son jeu de caractères par défaut au client et que le client ne le reconnaît pas, l'erreur est générée.
Solution
La solution recommandée consiste à mettre à niveau le logiciel client vers une version prenant en charge le jeu de caractères utf8mb4. Cependant, jusqu'à ce qu'une mise à niveau soit possible, une solution de contournement existe :
Solution de contournement
Modifiez le jeu de caractères du serveur en utf8 pour être compatible avec les clients non mis à niveau. Pour ce faire, ajoutez les paramètres suivants au fichier /etc/my.cnf et redémarrez le serveur MySQL :
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci character-set-server = utf8
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!