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')?
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!