Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan Ralat Campuran Haram Pengumpulan MySQL (latin1_swedish_ci dan utf8_general_ci)?
Perincian dan penyelesaian ralat konflik set aksara MySQL
Apabila memproses sejumlah besar data, anda mungkin menghadapi ralat berikut dalam MySQL:
<code>错误号:1267 操作“=”的字符集校对(latin1_swedish_ci,隐式)和(utf8_general_ci,可强制)不匹配</code>
Ralat ini berlaku apabila MySQL cuba membandingkan data dengan himpunan set aksara yang berbeza, mengakibatkan ketidakserasian. Dalam kes ini, ralat berlaku semasa pertanyaan yang membandingkan lajur "kata kunci" (dengan andaian penyusunan dengan "latin1_swedish_ci") kepada rentetan literal yang mungkin disusun dengan "utf8_general_ci".
Selesaikan konflik set watak
Untuk membetulkan ralat ini, anda boleh mencuba beberapa perkara:
<code>SET collation_connection = 'utf8_general_ci';</code>
<code>ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;</code>
Nota lain
MySQL kadangkala memperkenalkan himpunan "latin1_swedish_ci" tanpa sebab yang jelas. Untuk mengelakkan masalah ini pada masa hadapan, tentukan set aksara dan himpunan secara eksplisit untuk semua objek pangkalan data, termasuk jadual, lajur dan prosedur tersimpan. Anda boleh menghalang ralat seperti ini daripada berlaku dengan memastikan semua data dikumpul secara konsisten.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Campuran Haram Pengumpulan MySQL (latin1_swedish_ci dan utf8_general_ci)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!