Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Membetulkan Ralat 'PDO::__construct(): Server Sent Charset (255) Unknown to the Client' dalam Symfony 3?

Bagaimana untuk Membetulkan Ralat 'PDO::__construct(): Server Sent Charset (255) Unknown to the Client' dalam Symfony 3?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-10 07:57:14508semak imbas

How to Fix the

Menyelesaikan masalah "PDO::__construct(): Server Dihantar Charset (255) Tidak Diketahui Pelanggan" Ralat

Apabila cuba mewujudkan sambungan pangkalan data MySQL dalam Symfony 3, pengguna mungkin menghadapi ralat berikut:

PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers.

Isu ini timbul disebabkan oleh perubahan dalam Charset lalai MySQL dalam versi 8.0.1 hingga utf8mb4. Sesetengah pelanggan, seperti PHP 7.1.3, mungkin tidak mengenali charset ini.

Simptom

Ralat berlaku apabila pelayan MySQL menyampaikan charset lalainya kepada klien, tetapi klien gagal untuk mengenali ia. Isu ini memberi kesan kepada pelanggan yang menggunakan pemacu pdo_mysql, termasuk PHP.

Latar Belakang

Sebelum MySQL 8.0.1, charset lalai ialah utf8. Walau bagaimanapun, MySQL 8.0.1 memperkenalkan utf8mb4 sebagai lalai baharu, yang menyediakan sokongan aksara yang lebih luas dan pengendalian aksara Unikod yang lebih baik.

Penyelesaian

Resolusi yang ideal adalah untuk meningkatkan klien kepada versi yang mengenali utf8mb4. Walau bagaimanapun, sebagai penyelesaian sementara, pengguna boleh mengkonfigurasi set aksara pelayan secara manual kepada utf8, yang serasi dengan pelanggan yang tidak dinaik taraf.

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8

Mulakan semula MySQL selepas membuat perubahan ini. Ini akan memastikan keserasian dengan versi pelanggan yang lebih lama.

Adalah penting untuk ambil perhatian bahawa menaik taraf pelanggan kekal sebagai penyelesaian jangka panjang pilihan untuk menyelesaikan isu ini.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'PDO::__construct(): Server Sent Charset (255) Unknown to the Client' dalam Symfony 3?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn