不明な文字セット (255) による PDO 接続エラー
PHP データ オブジェクト (PDO) を使用してデータベース接続を確立しようとすると、次のような問題が発生する可能性があります。以下に遭遇するエラー:
PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers
説明
MySQL 8.0.1 では、デフォルトの文字セットが utf8mb4 に更新される変更が導入されました。ただし、古いバージョンの PHP を含む一部のクライアント アプリケーションでは、この文字セットが認識されず、このエラーが発生する可能性があります。
考えられる解決策
推奨される解決策は、クライアント アプリケーションを utf8mb4 をサポートするバージョンにアップグレードします。これにより、サーバーのデフォルトの文字セットとの互換性が確保されます。
代替解決策
クライアントのアップグレードが不可能な場合は、サーバーの文字セットを utf8 に調整できます。クライアントにさらに広く認知されるようになります。これを行うには、/etc/my.cnf ファイルに次の行を追加します。
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci character-set-server = utf8
これらの変更を加えた後、MySQL を再起動します。これにより、クライアントは文字セットが不明なエラーが発生することなく接続できるようになります。
以上がPHP PDO 接続が「サーバーはクライアントに不明な文字セット (255) を送信しました」というメッセージで失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。