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 8 ?

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 8 ?

DDD
DDDoriginal
2024-12-16 19:49:19233parcourir

Why Does My Symfony 3 App Get a

Erreur PHP : le serveur a envoyé un jeu de caractères inconnu (255) pour la connexion PDO

Lors de la tentative d'établissement d'une connexion à une base de données à l'aide de PDO dans un Symfony 3 application, les développeurs peuvent rencontrer l'erreur suivante :

PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers

Root Cause :

Cette erreur survient lorsque le serveur MySQL, exécutant la version 8.0.1 ou ultérieure, signale son jeu de caractères par défaut (utf8mb4) qui n'est pas reconnu par le client, comme PHP exécutant la version 7.1. 3 avec le pilote PDO MySQL.

Solution :

Le remède idéal est de mettre à jour le client. Cependant, comme solution de contournement temporaire, on peut rétablir le jeu de caractères du serveur sur utf8 pour assurer la compatibilité avec les clients plus anciens. Cela implique de modifier le fichier /etc/my.cnf et de redémarrer MySQL :

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


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

Ressources supplémentaires :

  • [Bogue du client MySQL](https : //bugs.mysql.com/bug.php?id=71606)
  • [Caractère par défaut de l'instance Ensemble](https://dev.mysql.com/doc/refman/8.0/en/charset-charsets.html#charset-configuration)

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn