Bagaimana untuk Membetulkan Pengekodan Berganda Unikod dalam Jadual UTF-8?

Barbara Streisand
Lepaskan: 2024-11-01 14:28:03
asal
581 orang telah melayarinya

How to Correct Unicode Double-Encoding in UTF-8 Tables?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan