当前位置:首页 > php使用substr出现乱码的解决方法

php使用substr出现乱码的解决方法

点击次数:2351  更新日期:2012-02-05

在使用PHP substr截取中文字符串的时候,会出现乱码的情况,原因是substr函数在截取字符时是按字节来截取的,中文字符在GB2312编码时为2个字节,utf-8编码时为3个字节,所以截取指定长度的字符串时如果截断了汉字,那么返回的结果显示出来便会出现乱码。解决方法是使用mb_substr函数

如 mb _substr("aaaaa",0,3,"utf-8")

另外,strpos,strlen这几个函数也是如此,可以使用mb_strpos,mb_strlen来对中文字符串进行操作