我想让我的站点的字符串处理符合UTF-8的其他语言。看起来最好的方法就是放弃所有的标准字符串函数。
所以我有两个选择,我可以在php.ini中设置mbstring.func_overload选项,或者我可以回到我的代码中,用mb_*替换所有的函数。我假设第二种选择对于使用我的代码的人来说会更容易,因为他们不需要更改他们的服务器配置。(如果他们能做到的话!)
那么当PHP6问世的时候呢?这应该会对我的选择有任何影响,因为它将支持适当的多字节处理。
发布于 2009-10-30 09:02:29
我认为反对mbstring.func_overload的理由是,如果您使用任何第三方库/代码,那么这些代码可能依赖于相关函数的“正常”功能--例如,它可能调用substr()在确切的字节边界处截断包含二进制数据的字符串,或者使用strlen()获取以字节为单位的长度,而不是以UTF-8字符表示的长度。
另请参阅:Should I use multi-byte overloading (mbstring.func_overload)?
https://stackoverflow.com/questions/1647419
复制相似问题