>  기사  >  백엔드 개발  >  php如果将utf-8码对应的汉字显示出来

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

WBOY
WBOY원래의
2016-06-06 20:15:071078검색

这是我写的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>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.