首頁 >後端開發 >php教程 >PHP使用strrev翻轉中文亂碼問題的解決方法

PHP使用strrev翻轉中文亂碼問題的解決方法

高洛峰
高洛峰原創
2017-01-14 13:50:461399瀏覽

本文實例講述了PHP使用strrev翻轉中文亂碼問題的解決方法。分享給大家參考,具體如下:

在用PHP中的strrve翻轉中文時,會出現亂碼狀況

例如:

header("Content-Type: text/html; charset=utf-8");
echo strrev("处理使用strrev()函数时的乱码问题")."<br>";

運作結果為:

��鮗遠籹䄚綗氕潇�)(verrts��翽䆐焤�
一個cnstrrev的函數

header("Content-Type: text/html; charset=utf-8");
$str = &#39;处理使用strrev()函数时的乱码问题&#39;;
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, 0, 3);//utf-8编码的情况下,一个中文字符占三个字节
        $str = substr($str, 3);
      }
    }
    else
    {
      $arr[] = $char;
      $str = substr($str, 1);//否则为非中文,占一个字符
    }
  }
  return join(array_reverse($arr));//以相反的元素顺序返回数组:
}
echo $str.&#39;+&#39;.cnstrrev($str);

運作結果為:

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

希望本文所述對大家PHP程式設計有所幫助。  

更多PHP使用strrev翻轉中文亂碼問題的解決方法相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn