Unbekannter Server-Zeichensatzfehler in der PDO-MySQL-Verbindung
Beim Versuch, eine MySQL-Datenbankverbindung von einer Symfony 3-Anwendung aus herzustellen, wird eine Fehlermeldung angezeigt : „PDO::__construct(): Der Server hat den dem Client unbekannten Zeichensatz (255) gesendet. Bitte den Entwicklern melden.“ Dies weist auf ein Problem hin, bei dem der MySQL-Server einen Zeichensatz (255) überträgt, mit dem der PHP-Client nicht vertraut ist.
Hintergrund:
Der Fehler stammt von MySQL 8.0 Die Standardzeichensatztransformation von .1 in utf8mb4. Allerdings erkennen möglicherweise nicht alle Clients diesen neuen Zeichensatz. Infolgedessen löst die Übertragung des Servers diesen Fehler aus.
Lösung:
Die optimale Lösung ist ein Upgrade der Client-Software. Es ist jedoch eine vorläufige Problemumgehung verfügbar:
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci character-set-server = utf8
Zusätzliche Überlegungen:
Das obige ist der detaillierte Inhalt vonWarum erhält meine Symfony 3-App beim Herstellen einer Verbindung zu MySQL 8.0.1 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!