I have a project written in Django. All fields that are supposed to store some strings are supposed to be in UTF-8, however, when I run
manage.py syncdb
all respective columns are created with cp1252 character set (where did it get that — I have no idea) and I have to manually update every column…
Is there a way to tell Django to create all those columns with UTF-8 encoding in the first place?
BTW, I use MySQL.
Django does not specify charset and collation in
CREATE TABLEstatements. Everything is determined by database charset. DoingALTER DATABASE ... CHARACTER SET utf8 COLLATE utf8_general_cibefore runningsyncdbshould help.For connection, Django issues
SET NAMES utf8automatically, so you don’t need to worry about default connection charset settings.