【发布时间】:2012-02-13 07:02:29
【问题描述】:
我想得到 Shift-jis 和 Utf-8 的 strlen(),然后比较它们。 字符串可以混合“ああ12345678sdfdszzz”。我尝试使用 strlen 但它会产生不同的结果。 mb_strlen 也无济于事,因为这是一个混合字符串。
例如:
ああ12345678 >> strlen() = 24 chars
ああああああああああああああああ >> strlen() = 48 chars
ああああああああああああああああああ >> strlen() = 54 chars
似乎没有规则。那么计算 strlen 并在多语言中比较它们的最佳方法是什么?
【问题讨论】:
-
从您的示例来看,后两个示例中的
あ每个为 3 个字节(那么可能是 UTF-8)。但这与第一个示例并不完全相关。那么这些字符串究竟是如何构建的呢? -
那个角色是平假名。我在 ubuntu 上使用 ibus 键盘输入。我不知道为什么它是 3 个字节。我认为它必须是2个字节。我想知道这是否有一个真正的规则。
标签: php multilingual strlen