宝宝健康成长网首页刘易桉宝宝健康成长 林林微博 育儿护理知识 宝宝网址导航
当前位置: 首页 >> 网络学习 >> 函数mb_strimwidth截断中文乱码问题

函数mb_strimwidth截断中文乱码问题

php函数mb_strimwidth是用来获取指定的宽度截断字符串。但在使用mb_strimwidth函数来实现文章截断的时候,如果结尾处恰巧是中文字符的话,有可能会发生乱码现象。今天在我单位的网站就发生了截断中文乱码问题。解决的方法如下。

第一种解决的方法:开启mb_string extension

如果您有权限更改apache配置,可以将mb_string extension设置为on。

第二种解决的方法:设置字符集

这里需要先说明下mb_strimwidth的使用方法

mb_strimwidth(string $str,int $start,int $width[,string $trimmarker[,string $encoding]])

参数说明

$str //指定字符串

$start //指定从何处开始截取

$width //截取文字的宽度

$trimmarker //超过$width数字后显示的字符串

举个例子,我调用的php函数是这样的:

<?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 370, "...");?>

解决中文截断乱码问题只需将以上代码加上UTF-8参数即可:

<?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 370, "...",'utf-8');?>

这样就解决了WordPress中mb_strimwidth截断中文字符产生乱码的问题。

发表评论

^留言没头像?教你设置头像!
我的应用 Follow@cnbabyup 宝宝问答>  0-1岁  1-3岁  3-6岁 手气不错