当前位置:Gxlcms > PHP教程 > php如果将utf-8码对应的汉字显示出来

php如果将utf-8码对应的汉字显示出来

时间:2021-07-01 10:21:17 帮助过:4人阅读

这是我写的Unicode码生成UTF-8对应的码值
//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";

?>

输出:e6849f
问题是如何把UTF-8码 e6849f 对应的汉字'感'显示出来??

回复内容:

这是我写的Unicode码生成UTF-8对应的码值

//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";

?>

输出:e6849f
问题是如何把UTF-8码 e6849f 对应的汉字'感'显示出来??

$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);
?>

人气教程排行