Drupal 7 Drupal 7 utf8mb4支持:“支持”;请将表格转换为“;警告转换表格后

Drupal 7 Drupal 7 utf8mb4支持:“支持”;请将表格转换为“;警告转换表格后,drupal-7,utf8mb4,Drupal 7,Utf8mb4,我在Drush中看到的全部错误是: 请先将所有数据库表转换为utf8mb4,然后再在settings.php中启用它。请参阅有关添加[警告]的文档 更多信息,请参阅4字节UTF-8支持。(目前使用数据库4字节UTF-8支持,但数据库 表(需要转换) 我正在使用最新版本的Drupal7。我已将所有表转换为utf8mb4\u unicode\u ci。起初,我是通过提示符手动完成的,但随后在表和字段上使用phpMyAdmin再次运行更新(只是为了确保,因为Drush仍然告诉我“请先将所有数据库表转换

我在Drush中看到的全部错误是:

请先将所有数据库表转换为utf8mb4,然后再在settings.php中启用它。请参阅有关添加[警告]的文档 更多信息,请参阅4字节UTF-8支持。(目前使用数据库4字节UTF-8支持,但数据库 表(需要转换)

我正在使用最新版本的Drupal7。我已将所有表转换为utf8mb4\u unicode\u ci。起初,我是通过提示符手动完成的,但随后在表和字段上使用phpMyAdmin再次运行更新(只是为了确保,因为Drush仍然告诉我“请先将所有数据库表转换为utf8mb4,然后再在settings.php中启用它。”)所有表都设置为InnoDB

在my.cnf文件中,我已确保

[mysqld]
innodb_large_prefix=true
innodb_文件_格式=梭鱼
innodb_file_per_table=true

同一服务器上的另一个站点启用了utf8mb4支持,并且没有抛出错误。这两个网站都使用最新版本的PHP5.6.x。Drush版本是8.1.2。MySql是5.5.x的最新版本

我已经通过drushcall清除了所有Drupal缓存,并重新启动了MySQL服务器。安装在Ubuntu和Plesk下


想知道我可能错过了什么,以及为什么Drupal要求我转换看起来像已转换的表(phpMyAdmin确实将排序规则显示为utf8mb4_unicode_ci)。

您在
设置中设置了排序规则和字符集。php

$databases['default']['default'] = array(
  'driver' => 'mysql',
  'database' => 'databasename',
  'username' => 'username',
  'password' => 'password',
  'host' => 'localhost',
  'charset' => 'utf8mb4',
  'collation' => 'utf8mb4_general_ci',
);
请看。此消息不是来自深入的sql分析,而是取决于布尔变量
drupal\u all\u databases\u是utf8mb4
的值。在转换表之后,无论是手动转换还是通过推荐的drush脚本()转换,都需要将该变量设置为
TRUE


-布朗尼乌斯

不知怎的错过了你的答案,他想起了这个问题。运行升级脚本就完成了这项任务,而没有进行任何额外的修补。非常感谢。