Возможный дубликат:
Как получить символ из значения unicode в PHP?
PHP: конвертировать кодировку unicode в UTF-8
Как я могу преобразовать символ unicode, такой как %u05E1
в обычный символ через PHP?
Функция chr
не покрывает ее, и я ищу что-то подобное.
«% uXXXX» – это нестандартная схема кодирования символов Unicode для URL-кодирования. По-видимому, это было предложено, но никогда не использовалось. Таким образом, вряд ли существует какая-либо стандартная функция, которая может декодировать ее в фактическую последовательность UTF-8.
Это не слишком сложно сделать сами, хотя:
$string = '%u05E1%u05E2'; $string = preg_replace('/%u([0-9A-F]+)/', '&#x$1;', $string); echo html_entity_decode($string, ENT_COMPAT, 'UTF-8');
Это преобразует нотацию %uXXXX
обозначение сущности HTML &#xXXXX;
, который может быть декодирован для фактического UTF-8 по html_entity_decode
. Выше выведенные символы «סע» в кодировке UTF-8.
Используйте hexdec
чтобы преобразовать его в его десятичное представление.
echo chr(hexdec("05E1")); var_dump(hexdec("%u05E1") == hexdec("05E1")); //true