Maison  >  Article  >  développement back-end  >  php如果将utf-8码对应的汉字显示出来

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

WBOY
WBOYoriginal
2016-06-06 20:15:071122parcourir

这是我写的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>
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn