Maison > Article > développement back-end > Résoudre le problème de l'inversion des caractères chinois tronqués dans la fonction strrev en PHP
Lorsque vous utilisez strrve en PHP pour retourner le chinois, des caractères tronqués apparaîtront
Par exemple :
header("Content-Type: text/html; charset=utf-8"); echo strrev("处理使用strrev()函数时的乱码问题")."<br>";
Le résultat en cours d'exécution est :
�� 鮗La solution est de réécrire vous-même une fonction cnstrrev
Le résultat en cours d'exécution est :
header("Content-Type: text/html; charset=utf-8"); $str = '处理使用strrev()函数时的乱码问题'; 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.'+'.cnstrrev($str);Gérer le problème de code tronqué lors de l'utilisation de la fonction strrev() + la fonction time avec du code tronqué) (verts utiliser la poignée
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!