PHP mbstring.func_overload 与使用 mbstring 函数

发布于 2024-08-09 04:52:17 字数 251 浏览 10 评论 0原文

我想要使​​我的网站的字符串处理符合 UTF-8 支持其他语言。似乎最好的方法是放弃所有标准字符串函数。

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

PHP 6 何时发布呢?这对我的选择有什么影响吗,因为它将支持正确的多字节处理。

I want to conform my site's string handling to support other languages per UTF-8. It seems that the best way to do this is to forsake all the standard string functions.

So I have two options, I can set the mbstring.func_overload option in php.ini or I can go back over my code and just replace all the functions with mb_*. I would assume that the second option will be easier on people using my code as they won't have to change their sever config. (if they even can!)

What about when PHP 6 comes out? Should that have any baring on my choice since it will support proper multibyte processing.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

过气美图社 2024-08-16 04:52:17

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

另请参阅:我应该使用多字节重载 (mbstring.func_overload) 吗?

I believe the argument against mbstring.func_overload is that if you use any 3rd party libraries/code whatsoever, that code may be relying on the "normal" functionality of the functions in question -- e.g., it may be calling substr() to truncate a string containing binary data at an exact byte boundary, or using strlen() to get length in bytes, rather than length in UTF-8 characters.

See also: Should I use multi-byte overloading (mbstring.func_overload)?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文