当前位置:首页 > PHP教程 > php应用 > 列表

PHP使用strrev翻转中文乱码问题的解决方法

发布:smiling 来源: PHP粉丝网  添加日期:2018-06-19 11:43:08 浏览: 评论:0 

本文实例讲述了PHP使用strrev翻转中文乱码问题的解决方法。分享给大家供大家参考,具体如下:

在用PHP中的strrve翻转中文时,会出现乱码情况,例如:

header("Content-Type: text/html; charset=utf-8");

echostrrev("处理使用strrev()函数时的乱码问题")."";

运行结果为:

1 ��???䄚?氕潇�)(verrts��?䆐?r�

解决方法就是自己重写一个cnstrrev的函数,代码如下:

  1. header("Content-Type: text/html; charset=utf-8"); 
  2. $str='处理使用strrev()函数时的乱码问题' 
  3. functioncnstrrev($str
  4.   $len=strlen($str); 
  5.   for($i= 0;$i<$len;$i++) 
  6.   { 
  7.     $char=$str{0}; 
  8.     if(ord($char) > 127)//ord()函数取得第一个字符的ASCII码,如果大于0xa0(127)的话则是中文字符 
  9.     { 
  10.       $i+=2;//utf-8编码的情况下,一个中文字符占三个字节 
  11.       if($i<$len//phpfensi.com 
  12.       { 
  13.         $arr[] =substr($str, 0, 3);//utf-8编码的情况下,一个中文字符占三个字节 
  14.         $str=substr($str, 3); 
  15.       } 
  16.     } 
  17.     else 
  18.     { 
  19.       $arr[] =$char
  20.       $str=substr($str, 1);//否则为非中文,占一个字符 
  21.     } 
  22.   } 
  23.   returnjoin(array_reverse($arr));//以相反的元素顺序返回数组: 
  24. echo$str.'+'.cnstrrev($str); 

运行结果为:

处理使用strrev()函数时的乱码问题+题问码乱的时数函)(verrts用使理处).

Tags: 乱码 中文 方法

分享到: