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
Django’s database backends automatically handles Unicode strings into the appropriate encoding and talk to the database. You don’t need to tell Django what encoding your database uses. It handles it well, by using you database's encoding.
I don't see any way you can tell django to create a column, using some specific encoding. As it appears to me, there is absolutely some previous MySQL configuration affecting you. And despite of doing it manually for all column, use these.
CREATE DATABASE db_name
[[DEFAULT] CHARACTER SET charset_name]
[[DEFAULT] COLLATE collation_name]
ALTER DATABASE db_name
[[DEFAULT] CHARACTER SET charset_name]
[[DEFAULT] COLLATE collation_name]