Maison >développement back-end >tutoriel php >Comment corriger l'erreur « PDO::__construct() : Server Sent Charset (255) Unknown to the Client » dans Symfony 3 ?

Comment corriger l'erreur « PDO::__construct() : Server Sent Charset (255) Unknown to the Client » dans Symfony 3 ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-10 07:57:14440parcourir

How to Fix the

Dépannage "PDO::__construct() : Server Sent Charset (255) Unknown to the Client" Erreur

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.

Symptômes

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.

Contexte

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.

Solution

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!

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