Cet article présente principalement la solution au problème de l'utilisation de strrev pour inverser les caractères chinois tronqués en PHP. Il parcourt la chaîne et définit le format d'encodage pour résoudre le problème tronqué via une fonction personnalisée. Les amis dans le besoin peuvent se référer à ce qui suit.
Cet article explique les exemples Une 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 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>";
Le résultat en cours d'exécution est :
��鮗遠籹䄚綗氕潇�)(verrts��翽䆐焤�
La solution est de le faire vous-même. Réécrire une fonction cnstrrev
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);
Le résultat en cours d'exécution est :
处理使用strrev()函数时的乱码问题+题问码乱的时数函)(verrts用使理处
Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.
Recommandations associées :
Méthode PHP pour résoudre les caractères tronqués chinois
php chinoiscode tronquéSolution au problème
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!