如何阻止WordPress使用utf8mb4_unicode_ci排序规则

时间:2017-02-06 作者:bitstarr

我正在使用WP-Sync-DB插件在dev、stage和live之间迁移站点。最近我遇到了这个问题:在本地开发人员上创建新实例时,WordPress使用utf8mb4\\U unicode\\U ci创建了所有表。这会导致迁移数据时出现问题。此外,实时服务器通常根本不支持utf8mb4。

我已经设置好了define(\'DB_COLLATE\', \'utf8_general_ci\'); 但WordPress忽略了创作。

有什么想法吗?

1 个回复
SO网友:fuxia

可以使用钩子过滤每个数据库查询query, 例如:

add_filter( \'query\', function ( $query ) {
    return str_replace( \'utf8mb4_unicode_ci\', \'utf8_unicode_ci\', $query );
});
然而,我强烈建议不要这样做。改为更新数据库。老年人utf8_* 排序规则有非常恼人的限制,您将遇到插件兼容性问题。

无论你做什么,不要使用general 变化。They cannot sort properly.

相关推荐

Replace domain in database

我的网站受到攻击,所以基本上所有的核心php文件都已损坏。只剩下数据库。现在我在本地主机中进行了尝试。如果我想从这个数据库恢复我的站点,域名是我唯一需要替换字符串的东西吗</我找到了这个教程-Replace string in database - 更改所有表中的域字符串,但几乎不知道将其放入何处以及如何在wordpress中触发它