php中mb_substr需填入第字符编码参数

在最近的一次测试中,需要用到中文字符串截取,这个从2005年就面临的问题,如今再次成为问题。

之前的做法是自己写单独的处理函数,在截取的过程中使用substr函数加上chr等函数硬判断是否是ASCII字符或者是多字节字符。

现在应该有所改观,重新编译了php,在congfigure时增加 –enable_mbstring , 然后restart apache即可生效。

可实测的结果并没有令人满意,string mb_substr ( string $str , int $start [, int $length [, string$encoding ]] )

这个定义中,第四个参数是 encoding,如果不填写默认很可能还是ASCII。所以正确切出中文字符,还需认真填写这个参数,如:

$shortStr = mb_substr($longStr, 0, 28, ‘utf-8’);

 

此条目发表在编程技术, 计算机技术分类目录。将固定链接加入收藏夹。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code