Database Collation—utf8mb4_unicode_ci
Database Connection Collation—utf8mb4_unicode_ci
i am getting error BIGINT UNSIGNED value is out of range in '(`dbname`.`#__menu`.`level` - 1)' when attempting to install a dev version of K2 2.9.1 over the existing K2 installation. I had no problem re-installing Joomla 3.9.3 over the existing installation – no error. I did this because one category of pages is not displaying, and Fotis Evangelou suggested that this might solve that problem. However getting the BIGINT UNSIGNED value is out of range error, pointed to more fundamental problems.
I attempted to change the database collation to utf8mb4_unicode_ci using the Admin Tools "Change Database Collation" but as you can see it remains utf8mbr_general_ci. There is a mix of utf8_general_ci, utf8_unicode_ci, utf8mb4_unicode_ci and utf8mb4_unicode_ci tables and there is a mix of INNODB and MyiSAM database engines for the various tables.
I also ran Optimize Database again, also with no results, still can't insatall K2 2.9.2-dev.
Fotis Evangelou suggested that I create a new Joomla/K2 installation and migrate everything over to the new installation, a month's worth of work, because the existing Joomla installation is really screwed up. Before I do that I wanted to get your appraisal of what my options are at this point.
Below are the arguments that prompted me to want to change to utfsmb4_unicode_ci.
Note: Since MySQL 5.5.3 you should use utf8mb4 rather than utf8. They both refer to the UTF-8 encoding, but the older utf8 had a MySQL-specific limitation preventing use of characters numbered above 0xFFFD.
Accuracy
utf8mb4_unicode_ci is based on the Unicode standard for sorting and comparison, which sorts accurately in a very wide range of languages.
utf8mb4_unicode_ci fails to implement all of the Unicode sorting rules, which will result in undesirable sorting in some situations, such as when using particular languages or characters.
Performance
utf8mb4_unicode_ci is faster at comparisons and sorting, because it takes a bunch of performance-related shortcuts.
On modern servers, this performance boost will be all but negligible. It was devised in a time when servers had a tiny fraction of the CPU performance of today's computers.
utf8mb4_unicode_ci, which uses the Unicode rules for sorting and comparison, employs a fairly complex algorithm for correct sorting in a wide range of languages and when using a wide range of special characters. These rules need to take into account language-specific conventions; not everybody sorts their characters in what we would call 'alphabetical order'.