UTF-8 和 php 中的 mbstring 扩展

发布于 2024-08-12 22:10:35 字数 484 浏览 5 评论 0原文

当我将 latin-1 mysql 数据库转换为 utf-8 时,我遇到了 this文章(http://developer.loftdigital.com/blog/ php-utf-8-cheatsheet)

请注意我已成功转换我的数据库,并且我的应用程序似乎可以正常工作/输出 >

它是前面提到的链接,它说明了有关安装和使用 mbstring 扩展和功能的信息。这似乎没有必要,这是我应该考虑、忽略还是必须做的事情?

提前致谢!

While I was converting my latin-1 mysql database into utf-8 i came across this article (http://developer.loftdigital.com/blog/php-utf-8-cheatsheet)

please note I have successfully converted my database and my app appears to be working/outputting correctly

It the previously mentioned link it says about installing and using the mbstring extension and functions. This doesn't appear to be necessary, is this something i should consider, ignore or have to do?

Thanks in advance!

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

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

发布评论

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

评论(2

故乡的云 2024-08-19 22:10:35

既然所有内容都采用 UTF-8,那么在使用字符串操作函数时您(可能)会遇到问题。
如果启用“mbstring.func_overload”选项,您可以避免这种情况,该选项将使用 Mb_* 函数覆盖 PHP 的内置函数(或者手动将内置函数替换为 Mb_* 函数)。
请参阅PHP 手册中的此页面

You will (probably) run into problems when using string manipulation functions now that everything is in UTF-8.
You can avoid this if you enable the "mbstring.func_overload" option which will override PHP's built in functions with Mb_* ones (or replace built in functions with Mb_* functions by hand).
See this page in the PHP manual

零崎曲识 2024-08-19 22:10:35

首先,mbstring 不是 DB 的问题,而是 PHP 的问题。其次 - 是的,如果您想在 PHP 中对字符串执行任何操作,例如比较或拆分,您应该拥有此扩展。

最简单的例子是将字符串填充到一定的长度(就像你在搜索列表中有一篇文章预览),如果你使用标准 PHP 函数,它们对单个字节进行操作,并且可以“切穿”一个 UTF 字符。

如果您控制网络服务器,则可以重载某些变量。但为了使代码更可移植,我建议显式使用 mb_* 函数。如今,大多数网络服务器都启用了此扩展。

First of all, mbstring is not DB matter, but rather PHPs. And second - yes, you should have this extension if you want to do anything with your strings in PHP - eg comparing or splitting.

The simplest example will be padding string to certain length (like you have an article preview in search list), if you use standard PHP functions, they operate on single bytes and can cut 'through' one UTF character.

You can overload some variables if you're in control of web server. But to make code more portable, I suggest explicitly use mb_* functions. Most of web servers have this extension enabled this days.

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