Mysql
 sql >> Database >  >> RDS >> Mysql

PDO::__construct():Il server ha inviato il set di caratteri (255) sconosciuto al client. Per favore, segnala agli sviluppatori

MySQL 8 ha cambiato il set di caratteri predefinito in utf8mb4. Ma alcuni clienti non conoscono questo set di caratteri. Quindi, quando il server segnala il suo set di caratteri predefinito al client e il client non sa cosa significa il server, genera questo errore.

Vedi anche https://bugs.mysql.com/bug.php?id=71606

Quel bug è contro MySQL Connector/C++, quindi colpisce più del semplice PHP.

Ok, l'ho fatto funzionare cambiando il set di caratteri in utf8, per essere compatibile con i client non aggiornati. L'ho aggiunto a /etc/my.cnf e riavviato mysqld:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


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

Ho trovato queste impostazioni in una risposta del 2010:Modificare il set di caratteri predefinito di MySQL su UTF-8 in my.cnf?