Saya sedang melakukan pembersihan data pada beberapa data yang tidak kemas yang saya import ke dalam mysql.
Data mengandungi aksara unikod "pseudo" yang sebenarnya dibenamkan dalam rentetan, seperti "u00e9" dsb.
Jadi medan mungkin.."Jalostotitlu00e1n" Saya perlu merobek 'u00e1n' yang janggal itu dan menggantikannya dengan aksara utf yang sepadan
Saya boleh melakukan ini dalam mysql, mungkin menggunakan subrentetan dan CHR, tetapi saya sedang memproses data melalui PHP, jadi saya boleh melakukannya di sana juga.
Saya sudah tahu cara mengkonfigurasi mysql dan php untuk menggunakan data utf. Masalahnya sebenarnya terletak pada data sumber yang saya import.
Terima kasih
/* php berfungsi untuk menukar utf8 html kepada ansi */
Ada caranya. Letakkan semua
uXXXX
替换为其 HTML 表示形式,并执行html_entity_decode()
Itu
echo html_entity_decode("Jalostotitlán");
u1234
形式的每个 UTF 字符都可以在 HTML 中打印为ሴ
. Tetapi melakukan penggantian adalah sangat sukar kerana jika tiada aksara lain untuk mengenal pasti permulaan urutan UTF, anda boleh mendapat banyak positif palsu. Regex mudah mungkinpreg_replace('/u([da-fA-F]{4})/', '', $str)