萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> PHP使用strrev翻轉中文亂碼問題的解決方法

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

PHP使用strrev翻轉經常出現中文亂碼的問題,本文分享了解決出現中文亂碼問題的方法,希望能幫助到有需要的同學

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

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

例如:

 代碼如下復制代碼

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

echostrrev("處理使用strrev()函數時的亂碼問題")."
";

運行結果為:

 代碼如下復制代碼��???䄚?氕潇�)(verrts��?䆐?r�

解決方法就是自己重寫一個cnstrrev的函數

 代碼如下復制代碼

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

$str='處理使用strrev()函數時的亂碼問題'

functioncnstrrev($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);//否則為非中文,占一個字符

    }

  }

  returnjoin(array_reverse($arr));//以相反的元素順序返回數組:

}

echo$str.'+'.cnstrrev($str);

運行結果為:

 代碼如下復制代碼處理使用strrev()函數時的亂碼問題+題問碼亂的時數函)(verrts用使理處
copyright © 萬盛學電腦網 all rights reserved