sql >> Database >  >> RDS >> Mysql

PDO::__construct():De server heeft een tekenset (255) verzonden die onbekend is bij de client. Alsjeblieft, rapporteer aan de ontwikkelaars

MySQL 8 heeft de standaardtekenset gewijzigd in utf8mb4. Maar sommige klanten kennen deze tekenset niet. Dus wanneer de server zijn standaardtekenset aan de client rapporteert, en de client weet niet wat de server bedoelt, geeft hij deze fout.

Zie ook https://bugs.mysql.com/bug.php?id=71606

Die bug is tegen de MySQL Connector/C++, dus het is van invloed op meer dan alleen PHP.

Oké, ik heb het werkend gekregen door de tekenset te wijzigen in utf8, zodat het compatibel is met niet-geüpgradede clients. Ik heb dit toegevoegd aan /etc/my.cnf en mysqld opnieuw gestart:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


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

Ik vond deze instellingen in een antwoord uit 2010:Standaard MySQL-tekenset wijzigen in UTF-8 in my.cnf?



  1. 5 tips en trucs om u te helpen uw online database te beheren

  2. Problemen met ORA-02049 oplossen en problemen in het algemeen vergrendelen met Oracle

  3. Hoe INTERSECT werkt in PostgreSQL

  4. Een database openen in de exclusieve modus in Access 2016