Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menukar Aksara Latin1 kepada UTF-8 dalam Jadual MySQL UTF-8?

Bagaimana untuk Menukar Aksara Latin1 kepada UTF-8 dalam Jadual MySQL UTF-8?

Barbara Streisand
Barbara Streisandasal
2024-11-02 19:41:30911semak imbas

How to Convert Latin1 Characters to UTF-8 in a UTF-8 MySQL Table?

Penukaran Aksara Latin1 pada Jadual UTF8 kepada UTF8

Pertanyaan anda melibatkan penukaran aksara Latin1 dalam jadual UTF8 kepada UTF8. Mari kita teliti butiran masalah dan penyelesaian yang disediakan untuk membantu anda menyelesaikan isu ini.

Latar Belakang

Anda telah mendapati keperluan untuk menetapkan charset dengan betul antara PHP dan MySQL untuk mengendalikan data UTF-8. Ini telah menyelesaikan sisipan aksara diakritik baharu. Walau bagaimanapun, anda menghadapi masalah apabila cuba membetulkan baris sedia ada yang mengandungi aksara rosak.

Penyelesaian Cadangan

Penyelesaian yang disediakan menggunakan pendekatan berikut:

  1. Tukar Nilai Perduaan kepada UTF8:

    convert(cast(convert(name using  latin1) as binary) using utf8)

    Fungsi MySQL ini memulihkan data UTF-8 daripada data Latin1 yang rosak.

    Pelarasan Pilihan (Bergantung pada Pengubahan Data):

    Anda boleh meninggalkan penukaran dalam (tukar(nama menggunakan latin1)) jika data tidak diubah dengan ketara semasa penukaran pengekodan awal. Dalam kes itu, fungsinya ialah:

    convert(cast(name as binary) using utf8)

Dengan menggunakan penyelesaian ini, anda boleh berjaya menukar aksara Latin1 yang disimpan dalam jadual UTF8 anda kepada format UTF8 yang betul, menyelesaikan isu rasuah watak. Ingat untuk melaraskan fungsi penukaran berdasarkan sifat pengubahan data yang dialami semasa proses pengekodan sebelumnya.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Aksara Latin1 kepada UTF-8 dalam Jadual MySQL UTF-8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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