这是因为您的字符集和排序规则不是utf8、utf8\\U general\\U ci。
要解决此问题,您有几个选项:1)(推荐且最简单)使用phpMyAdmin更改排序规则,这是一项相当简单的任务。根据您使用的版本,下面是3.4.5版的操作方法:在左侧面板上登录phpmyadmin时,您将看到您的数据库,请选择您用于wordpress的数据库。然后,您将看到同一面板中的所有表格,选择要编辑的表格。然后可以单击顶部菜单上的“操作”,并在“表选项”中更改排序规则。
2) 可以为整个数据库设置新的默认值。
3) 重新创建表设置默认字符集和排序规则如下所示:
$sql = "CREATE TABLE $my_table_name (
id BIGINT(20) NOT NULL AUTO_INCREMENT,
message TEXT NOT NULL,
)DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
require_once(ABSPATH . \'wp-admin/includes/upgrade.php\');
dbDelta($sql);
我建议如果您创建一个主题或插件,您可以为您的表设置一个默认的字符集和排序规则。