当对一条字符串进行截取的时候,通常第一个想到的就是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 " "; echo mb_strcut($string,0,13,'utf-8'); //按字节数来执行,而不是字符个数,一个中文三个字节
得到的结果:
下城区长浜路968号华盛达
下城区长