Mysql
 sql >> Base de données >  >> RDS >> Mysql

PDO::__construct() :le serveur a envoyé un jeu de caractères (255) inconnu du client. S'il vous plaît, signalez-le aux développeurs

MySQL 8 a changé le jeu de caractères par défaut en utf8mb4. Mais certains clients ne connaissent pas ce jeu de caractères. Par conséquent, lorsque le serveur signale son jeu de caractères par défaut au client et que le client ne sait pas ce que signifie le serveur, il génère cette erreur.

Voir aussi https://bugs.mysql.com/bug.php?id=71606

Ce bogue concerne le connecteur MySQL/C++, il n'affecte donc pas que PHP.

D'accord, je l'ai fait fonctionner en changeant le jeu de caractères en utf8, pour être compatible avec les clients non mis à niveau. J'ai ajouté ceci à /etc/my.cnf et redémarré mysqld :

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8

J'ai trouvé ces paramètres dans une réponse de 2010 :Modifier le jeu de caractères MySQL par défaut en UTF-8 dans my.cnf ?