乱码编码php测试
functionencode($c)
{
$len = strlen($c);
$scill='';
$jieguo='';
$a = 0;
while ($a
{
$ud = 0;
if (ord($c{$a}) >=0 && ord($c{$a})
{
$ud = ord($c{$a});
$a = 1;
}
else if (ord ($c{$a}) >=192 && ord($c{$a})
{
$ud = (ord($c{$ a})-192)*64 (ord($c{$a 1})-128);
$a = 2;
}
else if ( ord($c{$a}) >=224 && ord($c{$a})
{
$ud = (ord($c{ $a})-224)*4096 (ord($c{$a 1})-128)*64 (ord($c{$a 2})-128);
$a = 3 ;
}
else if (ord($c{$a}) >=240 && ord($c{$a})
{
$ud = (ord($c{$a})-240)*262144 (ord($c{$a 1})-128)*4096 (ord($c{$a) 2})-128)*64 (ord($c{$a 3})-128);
$a = 4;
}
else if ( ord($c{$a}) >=248 && ord($c{$a})
{
$ud = (ord($c{ $a})-248)*16777216 (ord($c{$a 1})-128)*262144 (ord($c{$a 2})-128)*4096 (ord($c{$a 3 })-128)*64 (ord($c{$a 4})-128);
$a = 5;
}
else if (ord ($c{$a}) >=252 && ord($c{$a})
{
$ud = (ord($c{$ a})-252)*1073741824 (ord($c{$a 1})-128)*16777216 (ord($c{$a 2})-128)*262144 (ord($c{$a 3} )-128)*4096 (ord($c{$a 4})-128)*64 (ord($c{$a 5})-128);
$a = 6;
}
else if (ord($c{$a}) >=254 && ord($c{$a})
{/ /error
$ud = false;
}
$scill = dechex($ud); // 再把结果十瑜伽转换为十六进制
<code> $jieguo .= "".$scill.";";} return $jieguo; </code>
}
echo编码('你好');
?>
一段中文转换为ASCII,再转换为十亮度,并且添加“”后缀添加“;” 的代码。
我在一些在线PHP测试网站里测试输出是正常的。
如在这里测试:
http://www.mcqyy.com/RunCode/php/
是正常的输出的输出的结果但是编码的模式,在html里是可以显示出中文的,如下动图:
输出确实是乱码的。
同样将“你好”作为输出错误乱码,或者是单独文件运行的时候显示
请看源文件以及输出结果:
结合到其他文件里运行的时候,"你好"则出乱码为“ ɕ”并且编码为:ɕ