PDO::__construct() Ralat: Server Charset Unknown to Client
Apabila cuba mewujudkan sambungan pangkalan data MySQL daripada aplikasi Symfony 3 , anda mungkin menghadapi perkara berikut ralat:
PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers
Masalah:
Ralat ini timbul kerana pelayan MySQL menghantar set aksara (255), yang tidak dikenali oleh pelanggan. Isu ini berpunca daripada perubahan terbaru dalam MySQL 8, di mana set aksara lalai telah diubah suai kepada utf8mb4. Walau bagaimanapun, pelanggan tertentu, termasuk yang digunakan oleh PDO, tidak menyedari perubahan ini, mengakibatkan ralat.
Penyelesaian:
Untuk menyelesaikan isu ini, anda perlu dua pilihan:
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci character-set-server = utf8
Dengan mendayakan set aksara utf8 pada pelayan, anda boleh menjadikannya serasi dengan pelanggan yang melakukannya tidak menyokong utf8mb4. Ini akan menyelesaikan ralat ketidakpadanan charset dan membolehkan anda mewujudkan sambungan yang berjaya ke pangkalan data MySQL.
Atas ialah kandungan terperinci Mengapa Apl Symfony 3 Saya Mendapat Ralat 'PDO::__construct(): Server menghantar charset (255) tidak diketahui kepada klien' Semasa Menyambung ke MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!