Ralat dalam Menyimpan Emoji dengan MySQL UTF8MB4
Apabila cuba menyimpan nama pengguna yang mengandungi emoji dalam pangkalan data MySQL, pengguna mungkin menghadapi ralat disebabkan oleh set watak dan penyusunan yang tidak betul konfigurasi.
Latar Belakang
Untuk menyokong emoji, MySQL memerlukan set aksara utf8mb4 dan pengumpulan unicode_ci. Ini memastikan bahawa aksara berbilang bait, seperti emoji, dikendalikan dengan betul.
Menyelesaikan masalah
Konfigurasi Pangkalan Data
Sahkan bahawa pangkalan data, jadual dan lajur dikonfigurasikan dengan betul dengan set aksara utf8mb4 dan unicode_ci pengumpulan. Semak tetapan dalam skrip penciptaan pangkalan data, skrip penciptaan jadual dan takrifan lajur.
Konfigurasi Bahagian Pelanggan
Sambungan klien ke pangkalan data juga mesti dikonfigurasikan untuk gunakan set aksara utf8mb4. Ini boleh dilakukan menggunakan pernyataan SET NAMES atau dengan menetapkan character_set_client kepada utf8mb4 dalam fail konfigurasi MySQL (my.cnf).
Pembolehubah Pangkalan Data Khusus
Kadangkala, pembolehubah pangkalan data tertentu mungkin tidak ditetapkan dengan betul. Log masuk sebagai akar dan semak nilai character_set_client, character_set_connection dan character_set_results menggunakan perintah SHOW VARIABLES. Laraskan tetapan jika perlu untuk memastikan semuanya ditetapkan kepada utf8mb4.
my.cnf File
Semak fail konfigurasi my.cnf untuk memastikan tetapan berikut ditetapkan dengan betul:
Penyata SET NAMA
Executing kenyataan SET NAMES utf8mb4 sebelum ini memasukkan atau mengemas kini data secara eksplisit boleh menetapkan set aksara dan penyusunan untuk sesi semasa. Ini memastikan bahawa pangkalan data menggunakan set aksara dan pengumpulan yang diingini untuk mengendalikan emoji.Pertimbangan Lain
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Berjaya Menyimpan Emoji dalam Pangkalan Data MySQL Saya Menggunakan UTF8MB4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!