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