Ralat PHP: Pelayan Menghantar Charset Tidak Diketahui (255) untuk Sambungan PDO
Apabila cuba mewujudkan sambungan pangkalan data menggunakan PDO dalam Symfony 3 aplikasi, pembangun mungkin menghadapi ralat berikut:
PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers
Root Punca:
Ralat ini timbul apabila pelayan MySQL, menjalankan versi 8.0.1 atau lebih baru, melaporkan set aksara lalainya (utf8mb4) yang tidak dikenali oleh klien, seperti PHP menjalankan versi 7.1. 3 dengan pemacu MySQL PDO.
Penyelesaian:
Ubat yang ideal adalah untuk mengemas kini pelanggan. Walau bagaimanapun, sebagai penyelesaian sementara, seseorang boleh mengembalikan set aksara pelayan kepada utf8 untuk keserasian dengan pelanggan yang lebih lama. Ini melibatkan pengubahsuaian fail /etc/my.cnf dan memulakan semula MySQL:
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci character-set-server = utf8
Sumber Tambahan:
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 8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!