>  기사  >  백엔드 개발  >  PHP에서 중국어 왜곡 문자를 뒤집기 위해 strrev를 사용하는 문제에 대한 솔루션

PHP에서 중국어 왜곡 문자를 뒤집기 위해 strrev를 사용하는 문제에 대한 솔루션

高洛峰
高洛峰원래의
2017-01-14 13:50:461333검색

이 기사의 예에서는 strrev를 사용하여 PHP에서 잘못된 중국어 문자를 뒤집는 문제에 대한 솔루션을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

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);

실행 결과는 다음과 같습니다.

rree

이 기사에서 설명하는 내용이 PHP 프로그래밍 설계에 종사하는 모든 사람에게 도움이 되기를 바랍니다.

strrev를 사용하여 PHP에서 중국어 왜곡 문자를 뒤집는 문제를 해결하는 방법에 대한 자세한 관련 기사를 보려면 PHP 중국어 웹사이트에 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.