mb_strlen是iconv_strlen的合适替代品

时间:2010-01-13 07:09:54

标签: php php4 string-length

也就是说,如果我在PHP4中完全编写代码?或者我应该使用自定义函数或类/扩展来计算多字节字符串中的字符数?

我能发现的唯一区别是mb_string剥离了坏序列,而iconv_strlen却没有。

1 个答案:

答案 0 :(得分:2)

如果您想要替换普通strlen,请使用mb_strlen,因为它总是返回一个int。这是非常值得商榷的(iconv对mb公差的正确性),但实际上mb_strlen的容错能力更好。只需确保在php.ini中或应用程序的中心位置将mb配置为所需的编码。

PHP中的Unicode支持处于不利地位,您必须了解许多陷阱和异常。完成了几个大型应用程序及其用户数据到UTF-8的完整切换后,我可能会为你哭泣。