ホームページ  >  記事  >  バックエンド開発  >  php如果将utf-8码对应的汉字显示出来

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

WBOY
WBOYオリジナル
2016-06-06 20:15:071117ブラウズ

这是我写的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 までご連絡ください。