Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想使我的网站的字符串处理符合 UTF-8 支持其他语言。似乎最好的方法是放弃所有标准的字符串函数。
所以我有两个选择,我可以mbstring.func_overload在 php.ini 中设置选项,或者我可以返回我的代码并将所有函数替换为mb_*. 我认为第二个选项对于使用我的代码的人来说会更容易,因为他们不必更改他们的服务器配置。(如果他们甚至可以!)
mbstring.func_overload
mb_*
PHP 6 什么时候出来?如果这对我的选择有任何影响,因为它将支持正确的多字节处理。
我认为反对的论点mbstring.func_overload是,如果您使用任何第 3 方库/代码,该代码可能依赖于相关函数的“正常”功能——例如,它可能正在调用 substr() 来截断包含精确字节边界处的二进制数据,或使用 strlen() 获取以字节为单位的长度,而不是以 UTF-8 字符为单位的长度。
另请参阅:我应该使用多字节重载 (mbstring.func_overload) 吗?