-
Suggestion
-
Resolution: Fixed
-
None
-
None
The 'utf8' encoding in MySQL actually only supports utf8 code points between one and 3 bytes. This means that several excellent and popular symbols, such as 👓,😦, and 🚜 cannot be used. MySQL 5.5 introduced utf8mb4 character set. Note that is a utf8mb4 superset of utf8 so migrating shouldn't lose anything.
Tasks:
1. Work out a migration plan to automatically migrate Crucible instances to the utf8mb4 encoding which supports full unicode set. Note it's not just 'ALTER TABLE' but also 'ALTER DATABASE'.
2. Update com.cenqua.crucible.hibernate.DBType.MYSQL#isUTF8AndCaseSensitive - we shall probably check 'utf8'/'utf8mb4' character encoding plus 'utf8_bin/utf8mb4_col' collation.
References: