PHP – конвертировать unicode в символ

Возможный дубликат:
Как получить символ из значения 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