PHP使用strrev翻转中文乱码问题的解决方法

2025-05-29 0 39

本文实例讲述了PHP使用strrev翻转中文乱码问题的解决方法。分享给大家供大家参考,具体如下:

在用PHP中的strrve翻转中文时,会出现乱码情况

例如:

?

1

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

echo strrev("处理使用strrev()函数时的乱码问题")."<br>";

运行结果为:

?

1
��鮗遠籹䄚綗氕潇�)(verrts��翽䆐焤�

解决方法就是自己重写一个cnstrrev的函数

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

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

运行结果为:

?

1
处理使用strrev()函数时的乱码问题+题问码乱的时数函)(verrts用使理处

希望本文所述对大家PHP程序设计有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP使用strrev翻转中文乱码问题的解决方法 https://www.kuaiidc.com/95495.html

相关文章

发表评论
暂无评论