前端之家收集整理的这篇文章主要介绍了
PHP使用strrev翻转中文乱码问题的解决方法,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_0@本文实例讲述了PHP使用strrev翻转中文乱码问题的解决方法。分享给大家供大家参考,具体如下:
@H_
502_0@在用
PHP中的strrve翻转
中文时,会出现乱码情况
@H_
502_0@例如:
<div class="jb51code">
<pre class="brush:
PHP;">
header("Content-Type: text/html; charset=utf-8");
echo strrev("处理使用strrev()
函数时的乱码问题")."
";
PHP;">
header("Content-Type: text/html; charset=utf-8");
$str = '处理使用strrev()
函数时的乱码问题';
function cnstrrev($str)
{
$len = strlen($str);
for($i = 0; $i < $len; $i++)
{
$char = $str{0};
if(ord($char) > 127) //ord()
函数取得第一个字符的ASCII码,如果大于0xa0(127)的话则是
中文字符
{
$i+=2;//utf-8编码的情况下,一个
中文字符占三个字节
if($i < $len)
{
$arr[] = substr($str,3);//utf-8编码的情况下,一个
中文字符占三个字节
$str = substr($str,3);
}
}
else
{
$arr[] = $char;
$str = substr($str,1);//否则为非
中文,占一个字符
}
}
return join(array_reverse($arr));//以相反的元素顺序返回数组:
}
echo $str.'+'.cnstrrev($str);