Rumah > pangkalan data > tutorial mysql > Mengapa Apl Symfony 3 Saya Mendapat Ralat 'PDO::__construct(): Server menghantar charset (255) tidak diketahui kepada klien' Semasa Menyambung ke MySQL?

Mengapa Apl Symfony 3 Saya Mendapat Ralat 'PDO::__construct(): Server menghantar charset (255) tidak diketahui kepada klien' Semasa Menyambung ke MySQL?

DDD
Lepaskan: 2024-12-15 19:55:15
asal
576 orang telah melayarinya

Why Does My Symfony 3 App Get a

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
Salin selepas log masuk

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:

  1. Naik taraf Pelanggan Anda: Penyelesaian yang paling berkesan ialah menaik taraf anda Pelanggan PDO kepada versi terkini, yang menyokong set aksara yang dikemas kini.
  2. Ubah Suai Set Aksara Pelayan: Jika anda tidak boleh menaik taraf klien, anda boleh menukar set aksara pelayan MySQL kepada utf8 , yang serasi dengan pelanggan yang lebih tua. Untuk melakukan ini, tambahkan tetapan berikut pada /etc/my.cnf dan mulakan semula MySQL:
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan