Rumah > Artikel > pangkalan data > Bagaimana untuk Membetulkan Pengekodan Berganda Unikod dalam Jadual UTF-8?
Pembetulan Pengekodan Berganda Unikod dalam Jadual UTF-8
Menghadapi anomali seperti "ñ" dan bukannya "ñ" menandakan potensi gandaan -isu pengekodan dengan aksara UTF-8. Ini berlaku apabila fail CSV tersilap dimuatkan di bawah andaian bahawa ia dikodkan Latin1, menyebabkan aksara berbilangbait tersilap dikenal pasti sebagai aksara tunggal dan kemudiannya dikodkan dalam UTF-8 semula.
Penyelesaian
Untuk membetulkan pengekodan dua kali ini, fungsi MySQL tersedia:
<code class="sql">CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8)</code>
Fungsi ini mengambil aksara yang dikodkan dalam Latin1, menghantarnya sebagai binari dan kemudian menukarnya kembali kepada UTF-8, mengalih keluar pengekodan dwi dengan berkesan.
Pembetulan melalui Kenyataan KEMASKINI
Untuk membetulkan medan yang terjejas, anda boleh menggunakan fungsi dalam pernyataan KEMASKINI:
<code class="sql">UPDATE tablename SET field = CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8);</code>
Dengan melaksanakan pernyataan ini, aksara yang bermasalah akan dipulihkan kepada perwakilan UTF-8 yang betul.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Pengekodan Berganda Unikod dalam Jadual UTF-8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!