It is important that correct collations be used in the MySQL database schema so that text comparisons work correctly and without error.
The chameleon/superticker database uses utf8mb4_unicode_ci
as the default collation for all tables and columns.
If there is ever a mismatch when doing comparisons - this can result in errors.
Find non-default collations
To find tables with non-default collations use the following query:
-- find tables with non-standard collations SELECT table_name, table_collation FROM information_schema.tables WHERE table_schema = 'superticker' AND table_collation is not null and table_collation != 'utf8mb4_unicode_ci';
To find columns with non-default collations use the following query:
-- find columns with non-standard collations SELECT table_name, column_name, character_set_name, collation_name FROM information_schema.columns c WHERE table_schema = 'superticker_dev' and collation_name is not null and collation_name != 'utf8mb4_unicode_ci';
Use cases that deviate
There can be use cases where the collation is changed for a client to support sorting and searching with their language specifics. This was done for a client in Denmark to improve the sorting in the Election Results.