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

Posted Eco

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 截取字符串后乱码的解决方案相关的知识,希望对你有一定的参考价值。

当对一条字符串进行截取的时候,通常第一个想到的就是substr()函数了,但是它只针对英文字符,如果是中文字符串的话,

这时候使用substr进行截取就会出现乱码的问题,这是因为substr会把中文按照每个汉字三个字节进行截取,故而截取中文的时候并不适用,

此时可以使用mb_substr()或者mb_strcut()函数进行截取,并设置截取后的编码格式为\'utf-8\',使用这两个函数需要开启php.ini中php_mbstring.dll扩展,将前面的;去掉然后重启php-fpm,

$string = \'下城区长浜路968号华盛达雷迪森广场\';
echo mb_substr($string,0,13,\'utf-8\'); //每一个中文当成一个字符
echo "\\n";
echo mb_strcut($string,0,13,\'utf-8\'); //按字节数来执行,而不是字符个数,一个中文三个字节

得到的结果:

下城区长浜路968号华盛达
下城区长

 

以上是关于PHP 截取字符串后乱码的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

php截取utf-8中文字符串乱码的解决方法

php截取中文字符串

php解决中英混排字符串截取

php解决中英混排字符串截取

php解决中英混排字符串截取

PHP实现中文截取无乱码