文章页面的 description 是使用 substr 函数来截取220字符的,但是最后一个汉字总是乱码,而且截取出来的长度也不正确。
通过神奇的 Google 找到方法,可能是因为 substr(string,start,length)
,会将汉字以字符的形式截断,而造成乱码
解决方案:使用 PHP 扩展库中的 mb_substr 方法。
方法定义:
string mb_substr ( string str, int start [, int length [, string encoding]] )
注意:在使用 mb_substr()/mb_strcut 最后要加入多一个参数,以设定字符串的编码,
例如:
echo mb_substr(‘原本会出现乱码的汉字!’, 0, 7, ‘utf-8’);
再如:
$description = mb_substr(strip_tags($post->post_content),0,220,’utf-8′);