【问题标题】:UTF-8, and mbstring extension in phpUTF-8 和 php 中的 mbstring 扩展
【发布时间】:2010-12-22 19:37:08
【问题描述】:
【问题讨论】:
标签:
php
mysql
utf-8
mbstring
【解决方案1】:
既然一切都在 UTF-8 中,那么在使用字符串操作函数时,您(可能)会遇到问题。
如果您启用“mbstring.func_overload”选项,您可以避免这种情况,该选项将用 Mb_* 覆盖 PHP 的内置函数(或手动用 Mb_* 函数替换内置函数)。
见this page in the PHP manual
【解决方案2】:
首先,mbstring 不是数据库问题,而是 PHP。第二 - 是的,如果你想在 PHP 中对字符串做任何事情,你应该有这个扩展 - 例如比较或拆分。
最简单的例子是将字符串填充到一定长度(就像您在搜索列表中有文章预览),如果您使用标准 PHP 函数,它们对单个字节进行操作,并且可以“切穿”一个 UTF 字符。
如果您可以控制 Web 服务器,则可以重载一些变量。但为了使代码更便携,我建议明确使用 mb_* 函数。现在大多数网络服务器都启用了这个扩展。