Могу ли я использовать значение unicode для символа (например, U+0021
для !
) В php? и преобразовать его в исходный символ при печати (с помощью chr()
или других функций)?
function replace_unicode_escape_sequence($match) { return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE'); } function unicode_chr ($chr) { $x = explode("+", $chr); $str = "\u".end($x); return preg_replace_callback('/\\\\u([0-9a-f]{4})/i', 'replace_unicode_escape_sequence', $str); } var_dump(unicode_chr("U+0021")); // string(1) "!"
Адаптировано из: Как декодировать escape-последовательности Unicode, такие как «\ u00ed», для правильных кодированных символов UTF-8?