+ -
当前位置:首页 → 问答吧 → 请问\u706b\u5f71是什么编码啊,怎么转成正常的字符

请问\u706b\u5f71是什么编码啊,怎么转成正常的字符

时间:2011-08-25

来源:互联网

如题,\u706b\u5f71还是%u706b%u5f71,,貌似代表 火影 两个字,请问各位大大,这是什么编码啊,怎么通过PHP转过来啊,在下感激不尽m(_ _)m

作者: totem2010   发布时间: 2011-08-25

是UNICODE,给你一个转换成GBK的例子:
PHP code
<?php
$s = '\u706b\u5f71,%u706b%u5f71';
function unicode2gbk($m)
{
    return mb_convert_encoding(pack('v', hexdec($m[1])), 'CP936', 'UCS-2LE');
}
$out = preg_replace_callback('/[\\\\%]u([\da-f]{4})/is', unicode2gbk, $s);
echo $out;
?>

作者: 0153   发布时间: 2011-08-25

\u706b这样的编码在PHP中,用json_encode中文后就会得到这样的数据
\%706b这样的编码在php中,\u706b经过urlencode后只会得到%5C706b(应该不是这们同学要的数据)


\u706b这样子的数据直接用json_decode就可以恢复成原来的数字了

PHP code
echo json_decode('"\u706b\u5f71"');  //字符串里面的双引号不能少,因为被序列化后的字符串中是含有双引号的,在此也必须加上

作者: hudie631489527   发布时间: 2011-08-25