Как отмечают другие, у вас, вероятно, есть ссылки на символы Юникода.Предполагая, что другие символы в вашем вводе уже являются допустимыми UTF-8, вы можете преобразовать ссылки на UTF-8 примерно так (я предполагаю, что PHP, как вы спрашивали об этом в связанном вопросе)
//take 1-4 byte hex string, convert to UTF-8 byte sequence
function hex2utf8($hex)
{
//pad to 8 hex digits (32 bits)
$hex=str_pad($hex, 8, '0',STR_PAD_LEFT);
//build binary data octet by octet
$decode='';
while (!empty($hex))
{
$byte=substr($hex,0,2);
$hex=substr($hex,2);
$decode.=chr(hexdec($byte));
}
//binary data is UTF-32, convert it to UTF-8
return iconv('UTF-32BE', 'UTF-8', $decode);;
}
function convertReferencesToUTF8($str)
{
return preg_replace('~&#x([0-9a-f]+);~ei', 'hex2utf8("\\1")', $str);
}
$encoded="Unicode references 鳠, 󮠹";
$utf8=convertReferencesToUTF8($encoded);
Это кажется много кода, может быть, кто-то еще предложит что-то более простое.