Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Membetulkan Aksara Latin1 yang Disimpan dengan Salah sebagai UTF8 dalam MySQL?

Bagaimanakah Saya Boleh Membetulkan Aksara Latin1 yang Disimpan dengan Salah sebagai UTF8 dalam MySQL?

DDD
Lepaskan: 2024-12-03 15:06:10
asal
396 orang telah melayarinya

How Can I Correct Latin1 Characters Incorrectly Stored as UTF8 in MySQL?

Membetulkan Aksara Latin1 Disimpan sebagai UTF8 dalam Jadual MySQL

Isu anda timbul daripada penukaran data Latin1 yang tidak betul kepada UTF8 semasa pemasukan. Walaupun menetapkan set aksara yang betul, data lama kekal rosak dengan aksara yang salah. Untuk membetulkan keadaan ini, kita perlu menukar data yang terjejas kepada perwakilan UTF8 yang betul.

Penyelesaian yang disyorkan melibatkan penggunaan fungsi MySQL:

convert(cast(convert(name using latin1) as binary) using utf8)
Salin selepas log masuk

Fungsi ini mengambil data lajur nama, mentafsirkannya sebagai binari Latin1, dan kemudian menukarnya kepada UTF8. Penukaran luar kepada binari memastikan data dikendalikan sebagai data mentah, menghalang penukaran set aksara selanjutnya daripada merosakkannya.

Berikut ialah contoh pertanyaan:

UPDATE `table` SET `name` = convert(cast(convert(name using latin1) as binary) using utf8)
WHERE `name` LIKE '%[non-UTF8 characters]%'
Salin selepas log masuk

Pertanyaan ini mengemas kini semua baris dengan bukan -UTF8 aksara dalam lajur nama, memastikan data ditukar dengan betul.

Nota: Jika proses pengekodan asal mengubah sedikit data, anda mungkin perlu meninggalkan penukaran dalaman kepada binari Latin1 dalam panggilan fungsi tukar.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membetulkan Aksara Latin1 yang Disimpan dengan Salah sebagai UTF8 dalam MySQL?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan