Rumah > Artikel > pangkalan data > Bagaimana untuk Memperbaiki Aksara UTF8 Berkod Dua dalam Jadual MySQL?
Membetulkan Aksara UTF8 Berkod Dua dalam Jadual UTF-8
Operasi import sebelumnya menggunakan LOAD DATA INFILE salah mengandaikan bahawa input CSV fail telah dikodkan Latin1. Ini menyebabkan aksara berbilangbait dipecahkan kepada dua aksara bait tunggal dan seterusnya dikodkan dua kali dalam UTF-8, mewujudkan anomali seperti 'ñ' dan bukannya 'ñ'.
Untuk membetulkan rentetan tersalah kod ini, MySQL menyediakan penyelesaian menggunakan fungsi CONVERT():
CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8)
Fungsi ini mengambil medan dwikod dan secara berurutan menukarnya daripada Latin1 (dengan mengandaikan pengekodan fail asal) kepada perwakilan binari dan akhirnya kepada UTF-8, membuat asal pengekodan berganda dengan berkesan.
Untuk menggunakan pembetulan ini, pernyataan KEMASKINI boleh dilaksanakan:
UPDATE tablename SET field = CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8);
Pernyataan ini akan menggantikan nilai medan sedia ada dengan yang diperbetulkan, memulihkan UTF yang dimaksudkan -8 perwakilan aksara berbilangbait.
Atas ialah kandungan terperinci Bagaimana untuk Memperbaiki Aksara UTF8 Berkod Dua dalam Jadual MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!