Maison > Article > développement back-end > php如果将utf-8码对应的汉字显示出来
这是我写的Unicode码生成UTF-8对应的码值
<code>//3字节 1110xxxx 10xxxxxx 10xxxxxx $unicode = '\u611f'; //中文感Unicode function unicode_utf8($unicode) { $decval = intval(hexdec($unicode)); $left = dechex( 0xe0 | ($decval >> 12)); $mid = dechex( 0x80 | (($decval >> 6) & 0x3f)); $right= dechex( 0x80 | ($decval & 0x3f)); return $left.$mid.$right; } echo $utf8 = unicode_utf8($unicode); echo "\n";</code>
?>
输出:e6849f
问题是如何把UTF-8码 e6849f 对应的汉字'感'显示出来??
这是我写的Unicode码生成UTF-8对应的码值
<code>//3字节 1110xxxx 10xxxxxx 10xxxxxx $unicode = '\u611f'; //中文感Unicode function unicode_utf8($unicode) { $decval = intval(hexdec($unicode)); $left = dechex( 0xe0 | ($decval >> 12)); $mid = dechex( 0x80 | (($decval >> 6) & 0x3f)); $right= dechex( 0x80 | ($decval & 0x3f)); return $left.$mid.$right; } echo $utf8 = unicode_utf8($unicode); echo "\n";</code>
?>
输出:e6849f
问题是如何把UTF-8码 e6849f 对应的汉字'感'显示出来??
<code>$unicode = '\u611f'; //中文感Unicode // Unicode转换utf8函数 function unicode_to_utf8($unicode) { $utf8_str = ''; $code = intval(hexdec($unicode)); //这里注意转换出来的code一定得是整形,这样才会正确的按位操作 $ord_1 = decbin(0xe0 | ($code >> 12)); $ord_2 = decbin(0x80 | (($code >> 6) & 0x3f)); $ord_3 = decbin(0x80 | ($code & 0x3f)); $utf8_str = chr(bindec($ord_1)) . chr(bindec($ord_2)) . chr(bindec($ord_3)); return $utf8_str; } echo unicode_to_utf8($unicode); ?></code>