I'm wondering about using Admin Tools to fix a database collation error I've encountered. I know the Change Database Collation feature is there, and was thinking of using it. However, in the course of researching the error, I found advice against using Admin Tools to fix it.
Background - I recently restored a site backed up with Akeeba Backup (Pro) to a new location, and at the new location, then updated from J! 3.6.5 to 3.8.2, and also updated half a dozen components. Everything seems to have gone swimmingly except for the following error, which appears on both the User menu for Fields and Field Groups, and the Content menu for Fields and Field Groups (apparently it's related to com_fields):
500 Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation '=' Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation '='
Also, as additional background, on J!'s "System Information" screen I notice the "Database Collation" is "latin1_swedish_ci", although the "Database Connection Collation" is utf8mb4_unicode_ci.
I googled the 500 error, above, and found the following thread regarding the exact same error on the J! Issues Tracker:
https://issues.joomla.org/tracker/joomla-cms/16230
There, one person reports using Admin Tools to fix this problem, and another (seemingly knowledgeable) person advises against that, saying "Changing collation for everything is not really a solution. It fixes the problem for now, but it may appear again when in future with some Joomla schema update some new table or column is added which is joined to one of the tables from com_menu."
This individual ultimately suggests running a handful of SQL statements to change selected tables to a binary collation (these statements are reproduced at the end of this post).
I have various questions about this problem and the right (and/or easiest) way to fix it, but the only one which is really Admin Tools related is, is it OK to use the Admin Tools Change Database Collation feature to fix this problem, or should I pursue another course?
Thanks,
Sam
PS - here are the SQL statements I mentioned:
ALTER TABLE #__banners MODIFY alias varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
ALTER TABLE #__categories MODIFY alias varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
ALTER TABLE #__contact_details MODIFY alias varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
ALTER TABLE #__content MODIFY alias varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
ALTER TABLE #__languages MODIFY lang_code char(7) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE #__menu MODIFY alias varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'The SEF alias of the menu item.';
ALTER TABLE #__newsfeeds MODIFY alias varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
ALTER TABLE #__tags MODIFY alias varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
ALTER TABLE #__ucm_content MODIFY core_alias varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';