php mb_strlen踩过的坑以及正确用法

今天云平台测试出现一个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');

你可能感兴趣的:(php mb_strlen踩过的坑以及正确用法)