您的位置:首页 > 其它

substr截取中文字符时会出现乱码

2016-12-20 00:00 176 查看
摘要: 使用substr截取中文字符时会出现乱码,这是因为substr是按字节来截取的

使用substr截取中文字符时会出现乱码,这是因为substr是按字节来截取的。即UTF-8编码的中文,使用substr截取,只会截取1/3个中文,当然出现乱码了。

一.string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )

encoding 参数为字符编码。如果省略,则使用内部字符编码。
返回值:
mb_substr() 函数根据 start 和 length 参数返回 str 中指定的部分

echo mb_substr('中国你好',0,2,‘UTF-8’); 字符串必须为UTF-8编码格式

如果不清楚字符串的编码格式的话,可以用mb_detect_encoding检查:
$encoding = mb_detect_encoding($string, array("ASCII",'UTF-8′,"GB2312′,"GBK",'BIG5′));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息