Charset Mismatch Error: Server Sent Unknown Charset (255)
Der Versuch, eine Verbindung zu einer MySQL-Datenbank von Symfony 3 mithilfe von PDO herzustellen, führt zu dem Folgender Fehler: PDO::__construct(): Der Server hat einen dem Client unbekannten Zeichensatz (255) gesendet. Bitte melden Sie sich bei den Entwicklern. Dieser Fehler kann aufgrund einer Nichtübereinstimmung des Zeichensatzes zwischen dem Server und dem Client auftreten.
Ursache
In MySQL 8 wurde der Standardzeichensatz in utf8mb4 geändert. Allerdings erkennen einige Clients, wie z. B. PDO, diesen Zeichensatz möglicherweise nicht. Wenn der Server seinen Standardzeichensatz an den Client sendet und der Client ihn nicht erkennt, wird der Fehler ausgegeben.
Lösung
Die empfohlene Lösung besteht darin, das zu aktualisieren Client-Software auf eine Version, die den Zeichensatz utf8mb4 unterstützt. Bis jedoch ein Upgrade möglich ist, gibt es eine Problemumgehung:
Problemumgehung
Ändern Sie den Zeichensatz des Servers in utf8, um mit nicht aktualisierten Clients kompatibel zu sein. Fügen Sie dazu die folgenden Einstellungen zur Datei /etc/my.cnf hinzu und starten Sie den MySQL-Server neu:
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci character-set-server = utf8
Das obige ist der detaillierte Inhalt vonMySQL-PDO-Verbindungsfehler: Wie behebe ich „Der vom Server gesendete Zeichensatz (255) ist dem Client unbekannt'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!