PDO::__construct() エラー: サーバーの文字セットがクライアントに不明です
Symfony 3 アプリケーションから MySQL データベース接続を確立しようとしたとき、次のような問題が発生する可能性があります。エラー:
PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers
問題:
このエラーは、MySQL サーバーがクライアントによって認識されない文字セット (255) を送信しているために発生します。この問題は、デフォルトの文字セットが utf8mb4 に変更された MySQL 8 の最近の変更に起因します。ただし、PDO で使用されるクライアントなど、特定のクライアントはこの変更を認識しないため、エラーが発生します。
解決策:
この問題を解決するには、次の手順を実行します。 2 つのオプション:
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci character-set-server = utf8
サーバー上で utf8 文字セットを有効にすることで、utf8 文字セットを有効にするクライアントと互換性を持たせることができます。 utf8mb4はサポートしていません。これにより、文字セットの不一致エラーが解決され、MySQL データベースへの接続を正常に確立できるようになります。
以上がMySQL に接続すると、Symfony 3 アプリで「PDO::__construct(): サーバーはクライアントに不明な文字セット (255) を送信しました」というエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。