首页 > 开发 > PHP > 正文

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

2024-05-04 22:00:52
字体:大 中 小
来源:转载
供稿:网友

本文实例讲述了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. { 
  5.   $len=strlen($str); 
  6.   for($i= 0;$i<$len;$i++) 
  7.   { 
  8.     $char=$str{0}; 
  9.     if(ord($char) > 127)//ord()函数取得第一个字符的ASCII码,如果大于0xa0(127)的话则是中文字符 
  10.     { 
  11.       $i+=2;//utf-8编码的情况下,一个中文字符占三个字节 
  12.       if($i<$len) //Vevb.com 
  13.       { 
  14.         $arr[] =substr($str, 0, 3);//utf-8编码的情况下,一个中文字符占三个字节 
  15.         $str=substr($str, 3); 
  16.       } 
  17.     } 
  18.     else 
  19.     { 
  20.       $arr[] =$char; 
  21.       $str=substr($str, 1);//否则为非中文,占一个字符 
  22.     } 
  23.   } 
  24.   returnjoin(array_reverse($arr));//以相反的元素顺序返回数组: 
  25. } 
  26. echo$str.'+'.cnstrrev($str); 

运行结果为:

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表