Rumah > pangkalan data > tutorial mysql > Bagaimanakah saya boleh menukar aksara Latin1 dengan betul dalam Jadual MySQL UTF8 kepada UTF8?

Bagaimanakah saya boleh menukar aksara Latin1 dengan betul dalam Jadual MySQL UTF8 kepada UTF8?

DDD
Lepaskan: 2024-12-09 04:29:09
asal
821 orang telah melayarinya

How Can I Correctly Convert Latin1 Characters in a UTF8 MySQL Table to UTF8?

Tukar Aksara Latin1 dalam Jadual UTF8 kepada UTF8

Anda telah menghadapi isu di mana aksara dengan diakritik (cth., "Jáuò Iñe" ) telah tersilap disimpan dalam jadual UTF8 kerana tiada Panggilan "mysql_set_charset('utf8')".

Untuk menyelesaikan masalah ini, anda cuba menukar baris yang terjejas menggunakan "mb_convert_encoding" dan "iconv." Walau bagaimanapun, kaedah ini gagal menangkap aksara melebihi aksara "haram" pertama (diwakili sebagai "ă" dalam contoh).

Pendekatan yang disyorkan untuk membetulkan data ialah menggunakan fungsi MySQL:

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

Penjelasan:

  1. luar fungsi tukar menukar data daripada perwakilan binari semasanya kepada rentetan menggunakan set aksara UTF-8.
  2. Fungsi dalaman menukar data daripada perwakilan Latin-1 asalnya kepada binari perwakilan.
  3. Fungsi cast memastikan penukaran dalaman mengembalikan binari nilai.

Dalam sesetengah kes, penukaran dalaman mungkin tidak diperlukan, kerana data mungkin sudah disimpan dalam format binari yang sesuai untuk penukaran kepada UTF-8. Menguji kedua-dua pilihan harus menentukan pendekatan yang betul untuk situasi anda.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menukar aksara Latin1 dengan betul dalam Jadual MySQL UTF8 kepada UTF8?. 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