![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
小弟遇到这么一个问题,我做了一个ajax的留言板,留言提交的内容被javascript的escape对象改变了,比如“啊”变成了%u554A ,也不知道这是什么编码,有人告诉我“它不是四个码吗,两位一组,再转成十进制,再转ASCII,王 4585 然后两组结合就是一个汉字。”然后我就去写了一个程序,按照他说的去做,输出的是乱,下面是字符转化程序。
$str = "%u738B";//“王”
$ary = explode("%u",$str);
array_shift($ary);
$tmp = '';
function bin2asc ($binary) //这个函数是我从手册上抄的把二进制转换为ascii码
{
$i = 0;
while ( strlen($binary) > 3 )
{
$byte[$i] = substr($binary, 0, 8);
$byte[$i] = base_convert($byte[$i], 2, 10);
$byte[$i] = chr($byte[$i]);
$binary = substr($binary, 8);
$ascii = "$ascii$byte[$i]";
}
return $ascii;
}
for($i=0; $i

