Maison > développement back-end > tutoriel php > Solution au problème de l'utilisation de strrev pour inverser les caractères chinois tronqués en PHP

Solution au problème de l'utilisation de strrev pour inverser les caractères chinois tronqués en PHP

高洛峰
Libérer: 2023-03-04 19:38:01
original
1371 Les gens l'ont consulté

L'exemple de cet article décrit la solution au problème de l'utilisation de strrev pour inverser les caractères chinois tronqués en PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Lors de l'utilisation de strrve en PHP pour inverser le chinois, des caractères tronqués apparaîtront

Par exemple :

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

Le résultat en cours d'exécution est :

��鮗遠籹䄚綗氕潇�)(verrts��翽䆐焤�
Copier après la connexion

La solution est de réécrire vous-même une fonction 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);
Copier après la connexion

Le résultat actuel est :

处理使用strrev()函数时的乱码问题+题问码乱的时数函)(verrts用使理处
Copier après la connexion

J'espère que cet article sera utile à tout le monde dans la programmation PHP.

Pour plus d'articles connexes sur la façon de résoudre le problème de l'utilisation de strrev pour inverser les caractères chinois tronqués en PHP, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal