Rumah > pangkalan data > tutorial mysql > Mengapa Sambungan PHP PDO Saya Gagal dengan 'Pelayan menghantar charset (255) tidak diketahui kepada pelanggan'?

Mengapa Sambungan PHP PDO Saya Gagal dengan 'Pelayan menghantar charset (255) tidak diketahui kepada pelanggan'?

Susan Sarandon
Lepaskan: 2024-12-27 03:37:09
asal
923 orang telah melayarinya

Why Does My PHP PDO Connection Fail with

Ralat Sambungan PDO dengan Charset Tidak Diketahui (255)

Apabila cuba mewujudkan sambungan pangkalan data menggunakan PHP Data Objects (PDO), anda boleh menghadapi perkara berikut ralat:

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

Penjelasan

MySQL 8.0.1 memperkenalkan perubahan di mana set aksara lalai telah dikemas kini kepada utf8mb4. Walau bagaimanapun, sesetengah aplikasi pelanggan, termasuk versi PHP yang lebih lama, mungkin tidak mengecam set aksara ini, yang membawa kepada ralat ini.

Penyelesaian Kemungkinan

Penyelesaian yang disyorkan adalah untuk menaik taraf anda aplikasi klien kepada versi yang menyokong utf8mb4. Ini akan memastikan keserasian dengan set aksara lalai pelayan.

Penyelesaian Alternatif

Jika menaik taraf klien tidak dapat dilaksanakan, anda boleh melaraskan set aksara pelayan kepada utf8, iaitu lebih dikenali oleh pelanggan. Ini boleh dicapai dengan menambah baris berikut pada fail /etc/my.cnf anda:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


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

Mulakan semula MySQL selepas membuat perubahan ini. Ini akan membolehkan pelanggan anda menyambung tanpa menghadapi ralat tidak diketahui set charset.

Atas ialah kandungan terperinci Mengapa Sambungan PHP PDO Saya Gagal dengan 'Pelayan menghantar charset (255) tidak diketahui kepada pelanggan'?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan