Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

PDO::__construct():Servidor enviou charset (255) desconhecido para o cliente. Por favor, informe aos desenvolvedores


O MySQL 8 alterou o charset padrão para utf8mb4. Mas alguns clientes não conhecem este charset. Portanto, quando o servidor relata seu conjunto de caracteres padrão para o cliente e o cliente não sabe o que o servidor significa, ele lança esse erro.

Veja também https://bugs.mysql.com/bug.php?id=71606

Esse bug é contra o MySQL Connector/C++, então está afetando mais do que apenas o PHP.

Ok, consegui funcionar alterando o conjunto de caracteres para utf8, para ser compatível com clientes não atualizados. Eu adicionei isso ao /etc/my.cnf e reiniciei o mysqld:
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


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

Encontrei essas configurações em uma resposta de 2010:Alterar o conjunto de caracteres padrão do MySQL para UTF-8 em my.cnf?