我刚刚安装了 WampServer (x64) 以便安装 WordPress 网站。在localhost/phpmyadmin/
服务器连接排序规则中是 utf8mb4_general_ci
。
当我创建一个新的数据库时,我将排序规则定义为“utf8_general_ci”
然而,当我安装 wordpress 时,我回顾了我的数据库,发现所有表格都已整理好utf8mb4_unicode_520_ci
为什么会发生这样的事?
我尝试过并在C:\wamp64\bin\mysql\mysql5.7.14\my.ini
标签下的文件中[mysqld]
添加了:
character-set-server=utf8
collation-server=utf8_general_ci
然后我重新启动了 wampserver,从头安装了 wordpress,并且所有表都再次进行了排序utf8mb4_unicode_520_ci
我该如何解决这个问题?
答案1
您可以在多个位置定义排序规则。如评论中所述,您的 MySQL 服务器版本支持在连接级别设置排序规则。
要查看何时修改了正确的配置,您可以运行CREATE TABLE
如下的简单语句,并检查它将使用哪种字符集和排序规则。
CREATE TABLE testSettings(
Dummy TEXT
);
您没有指定 WP 版本,但您可以尝试设置char
并collation
使用配置文件[2]。在当前 WP 版本 (4.7.1) 中,默认设置似乎是将设置charset
为utf8
,而不是定义collation
。您必须测试在配置中设置排序规则是否会阻止更改。
但即使你这么做,我也不确定它是否能救你一命,因为(至少自 2015 年以来) WP 正在悄悄升级排序规则至utf8mb4
。如果这些信息还不够,您还可以查看此错误已修复这或许能为该决定提供一些启示。
绕过升级的一种方法是使用较旧的 MySQL 版本。但是看看这我建议你直接更改运行数据库的服务。如果他们不支持,utfmb4
那似乎他们运行的 MySQL 服务器比5.5.3于三月份发布2010。这表明他们已经 6 年多没有更新过软件了。