我试过:
mb_strlen('普通话');
strlen('普通话');
他们都输出9,而实际上只有3个字符。
计算字符的正确方法是什么?
如果您无权访问 mb 字符串扩展名,这也可以使用(而且我相信它会更快):
strlen(utf8_decode('普通话')); // 3
一个汉字不等于一个ASCII字符。如果字符串以 UTF-8 编码,mb_strlen 是计算多字节字符的正确方法。
看这里: http ://www.herongyang.com/PHP-Chinese/Multibyte-UTF-8-mb_strlen.html