将Django / MySQL站点设置为使用UTF-8

我想让我的Django站点以一种万无一失的方式使用UTF-8 for MySQL,无论MySQL安装是否使用UTF-8作为其默认值.除了使用UTF-8编码创建表之外,我还在settings.py中的数据库初始化中添加了以下内容,以确保连接也使用utf-8:

'OPTIONS': { 'init_command': 'SET storage_engine=INNODB; SET names "utf8"' }

这会导致错误:

_mysql_exceptions.ProgrammingError: (2014, "Commands out of sync; you can't run this command now")

这样做的正确方法是什么?还有另一个需要执行SET NAMES的地方吗?

您只需要使用SET一次并将其他命令附加为:

'SET storage_engine=INNODB,character_set_connection=utf8,collation_connection=utf8_unicode_ci'
翻译自:https://stackoverflow.com/questions/6681831/setting-django-mysql-site-to-use-utf-8

转载注明原文:将Django / MySQL站点设置为使用UTF-8