Heim >Datenbank >MySQL-Tutorial >Warum erhält meine Symfony 3-App beim Herstellen einer Verbindung zu MySQL 8 den Fehler „PDO::__construct(): Server sent charset (255) unbekannt to the client'?

Warum erhält meine Symfony 3-App beim Herstellen einer Verbindung zu MySQL 8 den Fehler „PDO::__construct(): Server sent charset (255) unbekannt to the client'?

DDD
DDDOriginal
2024-12-16 19:49:19162Durchsuche

Why Does My Symfony 3 App Get a

PHP-Fehler: Server hat unbekannten Zeichensatz (255) für PDO-Verbindung gesendet

Beim Versuch, eine Datenbankverbindung mithilfe von PDO in einem Symfony 3 herzustellen Anwendung können Entwickler auf den folgenden Fehler stoßen:

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

Root Ursache:

Dieser Fehler tritt auf, wenn der MySQL-Server mit Version 8.0.1 oder höher seinen Standardzeichensatz (utf8mb4) meldet, der vom Client nicht erkannt wird, z. B. PHP mit Version 7.1. 3 mit PDO-MySQL-Treiber.

Lösung:

Die ideale Lösung ist Aktualisieren Sie den Client. Als vorübergehende Problemumgehung kann man jedoch den Zeichensatz des Servers auf utf8 zurücksetzen, um die Kompatibilität mit älteren Clients zu gewährleisten. Dazu müssen Sie die Datei /etc/my.cnf ändern und MySQL neu starten:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


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

Zusätzliche Ressourcen:

  • [MySQL-Client Fehler](https://bugs.mysql.com/bug.php?id=71606)
  • [Standardzeichensatz der Instanz](https://dev.mysql.com/doc/refman/8.0/ en/charset-charsets.html#charset-configuration)

Das obige ist der detaillierte Inhalt vonWarum erhält meine Symfony 3-App beim Herstellen einer Verbindung zu MySQL 8 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!

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