Ambiguous Characters in MySQL: Menyelesaikan ''xF0x9Fx8ExB6xF0x9F...'' Ralat
Apabila cuba menyimpan tweet yang mengandungi "MUSIKAL PELBAGAI NOTA" emoji dalam jadual MySQL dengan pengekodan utf8mb4, mesej ralat mungkin berlaku yang menunjukkan "Nilai rentetan salah: 'xF0x9Fx8ExB6xF0x9F...'" untuk lajur tweet_text.
Isu ini timbul kerana konfigurasi set aksara yang tidak mencukupi. Untuk menyelesaikan masalah ini, langkah berikut diperlukan:
1. Ubah suai Konfigurasi MySQL (my.ini)
Kemas kini fail my.ini untuk menukar set aksara kepada utf8mb4. Sebagai contoh, tambah atau ubah suai baris berikut:
[mysql] character-set-server=utf8mb4
2. Laksanakan Perintah MySQL
Sambung kepada klien MySQL dan jalankan arahan berikut untuk melaraskan pangkalan data dan set aksara jadual:
SET NAMES utf8mb4; ALTER DATABASE dreams_twitter CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
3. Sahkan Perubahan
Untuk memastikan pengubahsuaian telah berkuat kuasa, laksanakan arahan berikut:
SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
Output hendaklah menggambarkan bahawa set aksara dan penyusunan kedua-duanya ditetapkan kepada utf8mb4.
Dengan langkah-langkah ini, emoji "NOTA MUZIK BERBILANG" dan watak istimewa lain yang serupa boleh disimpan dengan jayanya tanpa menghadapi ralat "Nilai rentetan salah".
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'Nilai rentetan yang salah\' Semasa Menyimpan Emoji dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!