PDO::__construct() Fehler: Server-Zeichensatz dem Client unbekannt
Beim Versuch, eine MySQL-Datenbankverbindung von einer Symfony 3-Anwendung herzustellen , können Sie auf Folgendes stoßen Fehler:
PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers
Problem:
Dieser Fehler tritt auf, weil der MySQL-Server einen Zeichensatz (255) überträgt, der vom Client nicht erkannt wird. Das Problem ist auf eine kürzliche Änderung in MySQL 8 zurückzuführen, bei der der Standardzeichensatz auf utf8mb4 geändert wurde. Bestimmte Clients, einschließlich des von PDO genutzten Clients, sind sich dieser Änderung jedoch nicht bewusst, was zu dem Fehler führt.
Lösung:
Um dieses Problem zu beheben, müssen Sie Folgendes tun zwei Optionen:
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci character-set-server = utf8
Durch die Aktivierung des utf8-Zeichensatzes auf dem Server können Sie ihn mit Clients kompatibel machen, die dies tun Unterstützt utf8mb4 nicht. Dadurch wird der Fehler bei der Nichtübereinstimmung des Zeichensatzes behoben und Sie können eine erfolgreiche Verbindung zur MySQL-Datenbank herstellen.
Das obige ist der detaillierte Inhalt vonWarum erhält meine Symfony 3-App beim Herstellen einer Verbindung zu MySQL den Fehler „PDO::__construct(): Server sent charset (255) unbekannt to the client'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!