php mb_strlen踩过的坑以及正确用法
2018-01-24 本文已影响0人
stormfu
今天云平台测试出现一个bug,本地和服务器的结果不一样,我一执行,还真是。
本地测试执行的结果如下:

然后查了下手册http://www.php.net/manual/zh/function.mb-substr.php
encoding 参数为字符编码。如果省略,则使用内部字符编码。
执行了一下 php -r 'echo mb_internal_encoding();'
结果 ISO-8859-1
原因找到,正确用法 mb_strlen($utf8_string, 'utf-8');