Maison >développement back-end >tutoriel php >Comment convertir des séquences d'échappement Unicode en caractères UTF-8 en PHP ?
Séquences d'échappement Unicode en caractères UTF-8 en PHP
Cette question fournit une solution pour décoder les séquences d'échappement Unicode comme "u00ed" vers leur caractères codés UTF-8 correspondants en PHP. L'utilisateur mentionne que la recherche de questions similaires n'a pas donné de résultats satisfaisants.
Pour résoudre ce problème, la réponse propose deux fonctions preg_replace_callback. La première fonction gère les séquences d'échappement Unicode basées sur UCS-2BE :
$str = preg_replace_callback('/\\u([0-9a-fA-F]{4})/', function ($match) { return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE'); }, $str);
Si les séquences d'échappement Unicode sont basées sur UTF-16BE, comme en C/C /Java/Json, la deuxième fonction peut être utilisé :
$str = preg_replace_callback('/\\u([0-9a-fA-F]{4})/', function ($match) { return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UTF-16BE'); }, $str);
En utilisant ces fonctions, les séquences d'échappement Unicode peuvent être décodées avec succès en leur codage UTF-8 correspondant personnages.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!