There's an API call System.utf8conversion which will change all your tables to MySQL/MariaDB's utf8mb4 format, i.e. full unicode with emoji support, rather than the incomplete utf8 implementation of old.

I ran this and it worked fine but then found that when I add a custom fieldset, that table is set to the old UTF8 charset.

1 Answer 1


Incomplete UTF8 support is hard coded into the core code before 5.33 (thanks @michaelmcandrew!).

The solution seems to be to re-run the System.utf8conversion routine

  • Pre 5.33: do this after any time you create a field/fieldset (including anytime you install an extension that creates a custom field/fielset)
  • 5.33+ do this once, then the only time it should be needed again is if an extension hard-codes the old UTF8 in place.

Note that you can use the uh-oh extension to help discover whether your db uses the old UTF8 stuff.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.