Heim > Backend-Entwicklung > PHP-Tutorial > Warum 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'?

Warum 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'?

Barbara Streisand
Freigeben: 2024-12-11 02:59:09
Original
838 Leute haben es durchsucht

Why Does My Symfony 3 App Get a

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:

  1. Ändern Sie den Zeichensatz des MySQL-Servers auf utf8, um die Kompatibilität mit älteren Clients sicherzustellen.
  2. Fügen Sie die folgenden Einstellungen zur MySQL-Konfigurationsdatei (/etc.) hinzu /my.cnf):
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
Nach dem Login kopieren
  1. Starten Sie den MySQL-Server (mysqld) neu, um ihn anzuwenden diese Änderungen.

Zusätzliche Überlegungen:

  • Der Fehler kann auch dann bestehen bleiben, wenn die PHP-Client-Version 7.1.33 oder höher ist.
  • Stellen Sie sicher, dass der PDO-Treiber auf die neueste Version aktualisiert ist.
  • Stellen Sie sicher, dass der Datenbankzeichensatz auf eingestellt ist UTF8.

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage