Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menukar Aksara Latin1 dengan betul kepada UTF-8 dalam Pangkalan Data MySQL?

Bagaimana untuk Menukar Aksara Latin1 dengan betul kepada UTF-8 dalam Pangkalan Data MySQL?

Mary-Kate Olsen
Lepaskan: 2024-11-03 20:22:29
asal
527 orang telah melayarinya

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

Tukar Aksara Latin1 dalam Jadual UTF-8 kepada UTF-8

Percanggahan Pengekodan:

Anda telah menemui salah jajaran antara tetapan pengekodan PHP dan MySQL, yang membawa kepada penyimpanan aksara diakritik yang salah dalam jadual UTF-8. Walaupun sisipan baharu kini betul, baris yang lebih lama masih mengandungi aksara yang rosak.

Langkah Pembetulan:

Untuk membetulkan isu ini, gunakan fungsi convert() MySQL:

<code class="sql">convert(cast(convert(name using  latin1) as binary) using utf8)</code>
Salin selepas log masuk

Fungsi ini menukar data berkod Latin1 kepada UTF-8. Penukaran berganda memastikan data tidak dipotong semasa proses penukaran.

Contoh Penggunaan:

Dalam kod anda, gunakan penukaran dalam pertanyaan kemas kini anda:

<code class="sql">mysql_iquery('UPDATE `table` SET `name`="'.mysql_real_escape_string(convert(cast(convert(name using  latin1) as binary) using utf8)).'" WHERE `a1`="'.$row['a1'].'"');</code>
Salin selepas log masuk

Ini akan mengemas kini lajur nama dalam jadual anda dengan aksara UTF-8 yang ditukar dengan betul.

Nota:

Bergantung pada pengubahan data semasa penukaran pengekodan, anda mungkin perlu meninggalkan fungsi tukar dalam daripada pertanyaan. Uji kedua-dua senario dan pakai senario yang membuahkan hasil yang diingini.

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

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