利用php内置方法mb_substr用来解决中文截取乱码问题,使用起来非常简单。
GBK编码截取示例
$str = '我是谁'; //gbk编码的字符串 echo mb_substr($str, 0, 1, 'gbk'); //输出 我
mb_substr方法比substr多一个参数,用来指定字符串编码。
utf-8编码截取示例
$str = '我abc是谁'; //utf-8编码的字符串 echo mb_substr($str, 0, 2, 'utf-8'); //输出 我a
中英混合也完全没有问题。
友情提示
使用的时候要注意php文件的编码,和网页显示时的编码。
使用这个mb_substr方法要事先知道字符串的编码,如果不知道编码,就需要判断,mbstring库还提供了mb_check_encoding来检验字符串编码,但还不完善。如果有兴趣请参考这篇文章:php中使用mb_check_encoding判断字符串编码的一些思考
转载请注明:快乐编程 » php用内置方法解决截取中文字符串乱码问题