我的结果很奇怪:
strlen("òàùè")
如何使用 no-ascii 字符正确计算字符串?
我也查看了mb_strlen()但没有解决问题。
由于
答案 0 :(得分:11)
mb_strlen
将
返回字符串$ str 中包含字符编码$ encoding 的字符数。多字节字符计为1.
您的内部编码可能未设置为utf-8,
也是如此echo mb_strlen('òàùè', 'utf8');
或全局设置utf8:
mb_internal_encoding('utf8');
然后再做
echo mb_strlen("òàùè");
将提供4(demo)