Maison >base de données >tutoriel mysql >Pourquoi ma connexion PHP PDO échoue-t-elle avec « Le serveur a envoyé un jeu de caractères (255) inconnu du client » ?

Pourquoi ma connexion PHP PDO échoue-t-elle avec « Le serveur a envoyé un jeu de caractères (255) inconnu du client » ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-27 03:37:09927parcourir

Why Does My PHP PDO Connection Fail with

Erreur de connexion PDO avec un jeu de caractères inconnu (255)

Lorsque vous essayez d'établir une connexion à une base de données à l'aide de PHP Data Objects (PDO), vous pouvez rencontrer ce qui suit erreur :

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

Explication

MySQL 8.0.1 a introduit une modification dans laquelle le jeu de caractères par défaut a été mis à jour vers utf8mb4. Cependant, certaines applications clientes, y compris les anciennes versions de PHP, peuvent ne pas reconnaître ce jeu de caractères, ce qui entraîne cette erreur.

Solution possible

La solution recommandée consiste à mettre à niveau votre application cliente vers une version prenant en charge utf8mb4. Cela garantira la compatibilité avec le jeu de caractères par défaut du serveur.

Solution alternative

Si la mise à niveau du client n'est pas réalisable, vous pouvez ajuster le jeu de caractères du serveur sur utf8, ce qui est plus largement reconnu par les clients. Ceci peut être réalisé en ajoutant les lignes suivantes à votre fichier /etc/my.cnf :

[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 permettra à votre client de se connecter sans rencontrer l'erreur de jeu de caractères inconnu.

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