MySQL notes recommend legacy utf8_general_ci unicode collation
|Reported by:||Owned by:||mardini|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
The documentation section "MySQL notes" recommends the obsolete utf8_general_ci collation settings:
"By default, with a UTF-8 database, MySQL will use the utf8_general_ci collation." 
"... you should still use utf8_general_ci (the default) collation for the django.contrib.sessions.models.Session table"
While it may still be the default depending on your MySQL version, MySQL itself recommends utf8_unicode_ci instead of utf8_general_ci, as the later can be incorrect for some characters and languages and its performance benefits are no longer relevant. From the MySQL docs themselves:
"utf8_general_ci is a legacy collation that does not support expansions, contractions, or ignorable characters." 
Using utf8_general_ci can be the cause of difficult to debug text issues.
IMO Django should update its MySQL collation recommendation to utf8_unicode_ci.
Change History (6)
comment:1 Changed 3 years ago by
|Patch needs improvement:||unset|
|Triage Stage:||Unreviewed → Accepted|