This page aims to provide a roadmap to switching to a utf8mb4 mysql encoding.
- PR#13425 Warn users at installation time if their database does not support utf8mb4 - merged in CiviCRM 5.12.
- PR#13633 Change charset and collation for all core tables, custom fields, etc. To be released after CiviCRM 5.12; needs testing with extensions etc.
- Change connection charset/collation (we set that in various places with e.g. SET NAMES)
- Deal with length-related issues for varchar columns/indexes, or bump MySQL requirement to a version where that's not a problem.
Figure out how to deal with extensions that might be doing string comparisons where (extension-defined) columns use different collations.
- In PR#13633 we convert any utf8_unicode_ci or utf8_bin columns in all tables to utf8mb4_unicode_ci or utf8mb4_bin - similar to how the utf8mb4-convert drush command works.