当我将我的 latin-1 mysql 数据库转换为 utf-8 时,我遇到了这篇文章(http://developer.loftdigital.com/blog/php-utf-8-cheatsheet)
请注意我已经成功转换了我的数据库并且我的应用程序似乎可以正常工作/输出
它前面提到的链接是关于安装和使用 mbstring 扩展和功能的。这似乎没有必要,这是我应该考虑、忽略或必须做的事情吗?
提前致谢!
既然一切都在 UTF-8 中,那么在使用字符串操作函数时,您(可能)会遇到问题。如果您启用“mbstring.func_overload”选项,您可以避免这种情况,该选项将用 Mb_* 覆盖 PHP 的内置函数(或手动用 Mb_* 函数替换内置函数)。请参阅PHP 手册中的此页面
首先,mbstring 不是数据库问题,而是 PHP。第二 - 是的,如果你想在 PHP 中对字符串做任何事情,你应该有这个扩展 - 例如比较或拆分。
最简单的例子是将字符串填充到一定长度(就像您在搜索列表中有文章预览),如果您使用标准 PHP 函数,它们对单个字节进行操作,并且可以“穿过”一个 UTF 字符。
如果您可以控制 Web 服务器,则可以重载一些变量。但为了使代码更便携,我建议明确使用 mb_* 函数。如今,大多数 Web 服务器都启用了此扩展。