ホームページ > バックエンド開発 > PHPチュートリアル > MySQL 8.0.1 に接続すると、Symfony 3 アプリで「PDO::__construct(): サーバーがクライアントに不明な文字セット (255) を送信しました」というエラーが発生するのはなぜですか?

MySQL 8.0.1 に接続すると、Symfony 3 アプリで「PDO::__construct(): サーバーがクライアントに不明な文字セット (255) を送信しました」というエラーが発生するのはなぜですか?

Barbara Streisand
リリース: 2024-12-11 02:59:09
オリジナル
837 人が閲覧しました

Why Does My Symfony 3 App Get a

PDO MySQL 接続での不明なサーバー文字セット エラー

Symfony 3 アプリケーションから MySQL データベース接続を確立しようとすると、エラー メッセージが表示されます: "PDO::__construct(): サーバーはクライアントに不明な文字セット (255) を送信しました。報告してください。開発者へ。」これは、MySQL サーバーが PHP クライアントが慣れていない文字セット (255) を送信しているという問題を示しています。

背景:

このエラーは MySQL 8.0 に起因します。 .1のデフォルトの文字セットはutf8mb4に変換されます。ただし、すべてのクライアントがこの新しい文字セットを認識できるわけではありません。その結果、サーバーの送信によってこのエラーが発生します。

解決策:

最適な解決策は、クライアント ソフトウェアをアップグレードすることです。ただし、暫定的な回避策が利用可能です。

  1. 古いクライアントとの互換性を確保するために、MySQL サーバーの文字セットを utf8 に変更します。
  2. 次の設定を MySQL 構成ファイル (/etc) に追加します。 /my.cnf):
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
ログイン後にコピー
  1. MySQL を再起動します

追加の考慮事項:

  • PHP クライアントのバージョンが 7.1.33 であっても、エラーが継続する場合があります。
  • PDO ドライバーが最新のものに更新されていることを確認してください。 version.
  • データベースの文字セットが UTF8 に設定されていることを確認します。

以上がMySQL 8.0.1 に接続すると、Symfony 3 アプリで「PDO::__construct(): サーバーがクライアントに不明な文字セット (255) を送信しました」というエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート