题
我试过了:
mb_strlen('普通话');
strlen('普通话');
它们都输出9,而实际上只有3个字符。
计算字符的正确方法是什么?
解决方案
其他提示
如果您无法访问mb字符串扩展名,这也有效(我相信它更快):
strlen(utf8_decode('普通话')); // 3
一个汉字不等于一个ascii字符。 如果以UTF-8编码的字符串,mb_strlen是计算多字节字符的正确方法。
见这里: http://www.herongyang.com/PHP-Chinese/多字节UTF-8-mb_strlen.html
不隶属于 StackOverflow