PHP mbstring.func_overload与使用mbstring函数

时间:2009-10-30 00:41:54

标签: php utf-8 multibyte

我希望符合我网站的字符串处理,以支持每个UTF-8的其他语言。似乎最好的方法是放弃所有标准的字符串函数。

所以我有两个选项,我可以在php.ini中设置mbstring.func_overload选项,或者我可以回过头代码,只需用mb_*替换所有函数。我认为第二个选项对于使用我的代码的人来说会更容易,因为他们不必更改他们的服务器配置。 (如果他们甚至可以!)

PHP 6出来的时候怎么样?这应该是我的选择,因为它将支持正确的多字节处理。

1 个答案:

答案 0 :(得分:3)

我认为反对mbstring.func_overload的论点是,如果您使用任何第三方库/代码,那么该代码可能依赖于相关函数的“正常”功能 - 例如,它可能正在调用substr()截断包含精确字节边界的二进制数据的字符串,或使用strlen()获取字节长度,而不是UTF-8字符的长度。

另请参阅:Should I use multi-byte overloading (mbstring.func_overload)?