可能重复:
How to get the character from unicode value in PHP?
PHP: Convert unicode codepoint to UTF-8
如何通过PHP将%u05E1
等unicode字符转换为普通字符?
chr
功能没有涵盖它,我正在寻找类似的东西。
答案 0 :(得分:14)
“%uXXXX”是URL编码Unicode字符的非标准方案。显然它是建议但从未真正使用过。因此,几乎没有任何标准函数可以将其解码为实际的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;
,可以通过html_entity_decode
将其解码为实际的UTF-8。以上输出UTF-8编码中的字符“סע”。
答案 1 :(得分:0)
首先使用hexdec
将其转换为十进制表示。
echo chr(hexdec("05E1"));
var_dump(hexdec("%u05E1") == hexdec("05E1")); //true