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!