Drupal 7 Database 4 byte UTF-8 support 轉換筆記

前陣子不小心把 MariaDB 的版本從 10.0.x 升到 10.4.x (詳見 筆記)

我其實長期以來都是用 Emoji Scrub 來處理copy FB文章有特殊符號存檔出錯的問題

這次升級MariaDB 的版本的主因是因為發現文章中的某些字元出不來
(不過搞笑的是其實是我 fontfamily 字型設定的問題 FontAwesome 排序調整即可 XD )

由於我在 MariaDB 10.4.x 轉換失敗,所以就弄一台 VM 來處理

VM 的規格是直接採用 Ubuntu 18.04 內建的 MySQL 5.7

參考此頁 https://www.drupal.org/project/utf8mb4_convert

轉換時需使用drush

這個不需要設定,預設就有支援
[mysqld]
 innodb_large_prefix=true
 innodb_file_format=barracuda
 innodb_file_per_table=true

加入兩串字 settings.php:
  'charset' => 'utf8mb4',

  'collation' => 'utf8mb4_general_ci',
$databases['default']['default'] = array(
  'driver' => 'mysql',
  'database' => 'databasename',
  'username' => 'username',
  'password' => 'password',
  'host' => 'localhost',
  'charset' => 'utf8mb4',
  'collation' => 'utf8mb4_general_ci',
);

最後執行 drush utf8mb4-convert-databases

順利的話就能成功

留言

熱門文章