Heim >Datenbank >MySQL-Tutorial >Warum schlägt meine PHP-PDO-Verbindung fehl mit der Fehlermeldung „Der Server hat den Zeichensatz (255) gesendet, der dem Client unbekannt ist')?

Warum schlägt meine PHP-PDO-Verbindung fehl mit der Fehlermeldung „Der Server hat den Zeichensatz (255) gesendet, der dem Client unbekannt ist')?

Susan Sarandon
Susan SarandonOriginal
2024-12-27 03:37:09923Durchsuche

Why Does My PHP PDO Connection Fail with

PDO-Verbindungsfehler mit unbekanntem Zeichensatz (255)

Beim Versuch, eine Datenbankverbindung mithilfe von PHP-Datenobjekten (PDO) herzustellen, kann es vorkommen, dass dies der Fall ist stoße auf Folgendes Fehler:

PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers

Erklärung

MySQL 8.0.1 führte eine Änderung ein, bei der der Standardzeichensatz auf utf8mb4 aktualisiert wurde. Einige Clientanwendungen, einschließlich älterer Versionen von PHP, erkennen diesen Zeichensatz jedoch möglicherweise nicht, was zu diesem Fehler führt.

Mögliche Lösung

Die empfohlene Lösung ist ein Upgrade Ihres Clientanwendung auf eine Version, die utf8mb4 unterstützt. Dadurch wird die Kompatibilität mit dem Standardzeichensatz des Servers sichergestellt.

Alternative Lösung

Wenn ein Upgrade des Clients nicht möglich ist, können Sie den Zeichensatz des Servers auf utf8 anpassen von den Kunden allgemein anerkannter. Dies kann erreicht werden, indem Sie die folgenden Zeilen zu Ihrer /etc/my.cnf-Datei hinzufügen:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


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

Starten Sie MySQL neu, nachdem Sie diese Änderungen vorgenommen haben. Dadurch kann Ihr Client eine Verbindung herstellen, ohne dass der Fehler „Zeichensatz unbekannt“ auftritt.

Das obige ist der detaillierte Inhalt vonWarum schlägt meine PHP-PDO-Verbindung fehl mit der Fehlermeldung „Der Server hat den Zeichensatz (255) gesendet, der dem Client unbekannt ist')?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn