Memahami Ralat "Nilai Rentetan Tidak Tepat" dalam UTF-8
Ralat "nilai rentetan yang salah" dalam MySQL berlaku apabila pangkalan data menemui nilai rentetan tidak sah semasa operasi SQL. Ini boleh disebabkan oleh beberapa faktor, termasuk:
Penyelesaian Masalah dan Penyelesaian
Untuk menyelesaikan "rentetan yang salah nilai" dan pastikan pengendalian UTF-8 yang betul, ikuti ini langkah:
SET NAMES 'utf8mb4'; SET CHARACTER SET utf8mb4;
SELECT `tables`.`TABLE_NAME`, `collations`.`character_set_name` FROM `information_schema`.`TABLES` AS `tables`, `information_schema`.`COLLATION_CHARACTER_SET_APPLICABILITY` AS `collations` WHERE `tables`.`table_schema` = DATABASE() AND `collations`.`collation_name` = `tables`.`table_collation` ;
Jika set aksara bukan 'utf8mb4,' ubah suai takrif jadual untuk disertakan ia.
mysql> show variables like '%colla%'; mysql> show variables like '%charac%';
Hasilnya hendaklah termasuk tetapan seperti 'character_set_database' dan 'collation_connection' yang ditetapkan kepada 'utf8mb4.'
Impak Pembetulan
Menggunakan pembetulan ini akan membolehkan pangkalan data memproses rentetan UTF-8 dengan betul, menyelesaikan ralat "nilai rentetan yang salah". Walau bagaimanapun, penukaran kepada 'utf8mb4' mungkin mempunyai kesan berikut:
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Nilai Rentetan Yang Salah' MySQL dalam UTF-8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!