Php 从十六进制代码创建UTF-8字符串 在C++中,可以使用这种符号创建UTF-8字符串: > \UD840\UDC50“< /Cord>.

Php 从十六进制代码创建UTF-8字符串 在C++中,可以使用这种符号创建UTF-8字符串: > \UD840\UDC50“< /Cord>.,php,unicode,utf-8,hex,codepoint,Php,Unicode,Utf 8,Hex,Codepoint,但是,这在PHP中不起作用。有类似的符号吗 如果没有,是否有任何内置方法可以在知道其Unicode代码点的情况下创建UTF-8字符串?我最终实现了如下: $utf8 = html_entity_decode("&#x4E00;", ENT_COMPAT, 'UTF-8'); 使用ENT_QUOTES | ENT_COMPAT转换引号这也有局限性,不能用于所有UTF-8字符,因为HTML标准中并不支持所有十六进制字符。参见(“未在HTML4标准中定义”) function hexToSt

但是,这在PHP中不起作用。有类似的符号吗


如果没有,是否有任何内置方法可以在知道其Unicode代码点的情况下创建UTF-8字符串?

我最终实现了如下:

$utf8 = html_entity_decode("&#x4E00;", ENT_COMPAT, 'UTF-8');

使用ENT_QUOTES | ENT_COMPAT转换引号这也有局限性,不能用于所有UTF-8字符,因为HTML标准中并不支持所有十六进制字符。参见(“未在HTML4标准中定义”)
function hexToString($str){return chr(hexdec(substr($str, 2)));}
$result = preg_replace_callback("/(\\\\x..)/isU", function($m) { return hexToString($m[0] ); }, $str);