如何strlen多语言字符串

eme*_*ieu 3 php multilingual strlen

我想获得Shift-jis和Utf-8的strlen(),然后比较它们.字符串可以混合"ああ12345678sdfdszzz".我试图使用strlen但它会产生不同的结果.mb_strlen也没有帮助,因为这是一个混合字符串.

例如:

??12345678 >> strlen() = 24 chars
???????????????? >> strlen() = 48 chars
?????????????????? >> strlen() = 54 chars
Run Code Online (Sandbox Code Playgroud)

似乎没有规则.那么计算strlen并在多语言中比较它们的最佳方法是什么

Gum*_*mbo 6

strlen只计算字节数,因此仅对单字节字符编码有用; 使用mb_strlen多字节字符编码,可以算的实际字符来代替.