Je nettoie des données sur certaines données désordonnées que j'importe dans MySQL.
Les données contiennent des "pseudo" caractères Unicode qui sont réellement intégrés dans la chaîne, tels que "u00e9", etc.
Un champ pourrait donc être.."Jalostotitlu00e1n" Je dois extraire ce "u00e1n" maladroit et le remplacer par le caractère utf correspondant
Je pourrais le faire dans MySQL, peut-être en utilisant des sous-chaînes et CHR, mais je prétraite les données via PHP, donc je peux également le faire là-bas.
Je sais déjà comment configurer MySQL et PHP pour utiliser les données UTF. Le problème réside en fait dans les données sources que j'ai importées.
Merci
/* fonction php pour convertir utf8 html en ansi */
Il existe un moyen. Mettez tout
uXXXX
替换为其 HTML 表示形式,并执行html_entity_decode()
C'est
echo html_entity_decode("Jalostotitlán");
u1234
形式的每个 UTF 字符都可以在 HTML 中打印为ሴ
. Mais faire le remplacement est très difficile car s’il n’y a pas d’autres caractères pour identifier le début de la séquence UTF, vous pouvez obtenir beaucoup de faux positifs. Une simple expression régulière pourrait êtrepreg_replace('/u([da-fA-F]{4})/', '', $str)