Menukar Aksara Latin1 kepada UTF8 dalam Jadual UTF8
Soalan anda menerangkan isu di mana data yang dimasukkan sebelum ini mengandungi diakritik telah rosak disebabkan set aksara yang salah pengendalian.
Masalah:
Skrip PHP anda tidak menyatakan set aksara UTF-8 untuk komunikasi pangkalan data, membawa kepada aksara Latin1 disimpan dalam jadual UTF-8. Ini menyebabkan aksara dipaparkan secara tidak betul sebagai jujukan "Ã".
Penyelesaian:
Penyelesaian terletak pada penggunaan fungsi MySQL yang dipanggil convert() untuk menghantar secara eksplisit data daripada pengekodan Latin1 kepada UTF-8. Berikut ialah contoh pertanyaan:
UPDATE `table` SET `name` = convert(cast(convert(`name` using latin1) as binary) using utf8)
Penjelasan:
Proses penukaran ini memastikan bahawa mana-mana aksara Latin1 yang rosak ditukar dengan betul kepada UTF-8, mengekalkan paparan diakritik yang betul. Ambil perhatian bahawa penukaran dalaman menggunakan fungsi convert() mungkin tidak diperlukan dalam semua kes, bergantung pada rasuah data tertentu.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Aksara Latin1 kepada UTF-8 dalam Jadual Pangkalan Data UTF-8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!