sql >> Databasteknik >  >> RDS >> Mysql

PDO::__construct():Servern skickade teckenuppsättning (255) okänd för klienten. Vänligen rapportera till utvecklarna

MySQL 8 ändrade standardteckenuppsättningen till utf8mb4. Men vissa klienter känner inte till denna teckenuppsättning. När servern därför rapporterar sin standardteckenuppsättning till klienten, och klienten inte vet vad servern betyder, ger den detta fel.

Se även https://bugs.mysql.com/bug.php?id=71606

Det felet är mot MySQL Connector/C++ så det påverkar mer än bara PHP.

Okej – jag fick det att fungera genom att ändra teckenuppsättningen till utf8, för att vara kompatibel med icke-uppgraderade klienter. Jag la till detta i /etc/my.cnf och startade om mysqld:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


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

Jag hittade dessa inställningar i ett svar från 2010:Ändra MySQL standardteckenuppsättning till UTF-8 i my.cnf?



  1. PG::ConnectionBad:fe_sendauth:inget lösenord tillhandahålls

  2. Hur make_interval() fungerar i PostgreSQL

  3. Främmande nyckel till icke-primär nyckel

  4. Hur lägger jag till en auto_increment-primärnyckel i SQL Server-databasen?