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

PDO::__construct():Server sendte tegnsæt (255) ukendt for klienten. Venligst rapporter til udviklerne

MySQL 8 ændrede standardtegnsættet til utf8mb4. Men nogle klienter kender ikke dette tegnsæt. Når serveren derfor rapporterer sit standardtegnsæt til klienten, og klienten ikke ved, hvad serveren betyder, kaster den denne fejl.

Se også https://bugs.mysql.com/bug.php?id=71606

Den fejl er imod MySQL Connector/C++, så den påvirker mere end blot PHP.

Okay – jeg fik det til at fungere ved at ændre tegnsættet til utf8, så det er kompatibelt med ikke-opgraderede klienter. Jeg tilføjede dette til /etc/my.cnf og genstartede mysqld:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


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

Jeg fandt disse indstillinger i et svar fra 2010:Ændre MySQL standardtegnsæt til UTF-8 i my.cnf?



  1. Kører PostgreSQL ved hjælp af Amazon RDS

  2. Hvad er sql-forbindelsesstrengen, jeg skal bruge for at få adgang til localhost\SQLEXPRESS med Windows-godkendelse eller SQL-godkendelse?

  3. Kan ikke oprette forbindelse til lokal MySQL-server via socket '/var/mysql/mysql.sock' (38)

  4. SUBDATE() vs DATE_SUB() i MySQL:Hvad er forskellen?