PHP 截取字符串后乱码的解决方案

今天遇到一个坑,左右调试坑的我一脸懵逼,当我们对一条字符串进行截取的时候,通常第一个想到的就是substr()函数了,但是如果是中文+数字的字符串的话,这时候使用substr进行截取就会出现乱码的问题,这是因为substr会把中文按照每个汉字三个字节进行截取,故而截取中文的时候并不适用,另外一个方法就是使用mb_substr()或者mb_strcut()函数进行截取,并设置截取后的编码格式为'utf-8',使用这两个函数需要开启php.ini中php_mbstring.dll扩展,将前面的;去掉然后重启php-fpm,

$string = '下城区长浜路968号华盛达雷迪森广场酒店';

我先使用了mb_substr()函数,但是并没有解决我的问题,有的不乱码,有的还是乱码,也不知道网上那些说用这个函数就能解决的有没有遇到这个问题- -!

echo mb_substr($string,0,40,'utf-8');

最后我又用了mb_strcut()函数,它的用法和mb_substr()是一样的,才算解决了这个问题:

mb_strcut($string,0,40,'utf-8');

文章来源: PHP 截取字符串后乱码的解决方案

人吐槽 人点赞

猜你喜欢

发表评论

用户名: 密码:
验证码: 匿名发表

你可以使用这些语言

查看评论:PHP 截取字符串后乱码的解决方案