2011-07-13 7 views
7

MySQLインストールでUTF-8をデフォルトとして使用するかどうかにかかわらず、DjangoサイトをUTF-8を使用するように設定したいと思います。 UTF-8エンコーディングを持つテーブルを作成することに加えて、私はまた、使用している接続を確実にするために、settings.pyに自分のデータベースの初期化に以下を添加し、UTF-8:これは、エラーが発生しDjango/MySQLサイトで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を実行する必要がある別の場所はありますか?それから私は、MySQLデータベースを自分で作成した

'OPTIONS': { 'init_command': 'SET storage_engine=INNODB' } 

:私がしなければならなかったすべてがsettings.pyでこれを入れた

'SET storage_engine=INNODB,character_set_connection=utf8,collation_connection=utf8_unicode_ci' 

答えて

10

:続い

CREATE DATABASE my_database CHARACTER SET utf8; 

すべてCREATE USERGRANTが呼び出されます。

その後、./manage.py syncdb./manage.py migrate(私は南を使用しているため)すべてを終了しました。

これまでのところうまくいきました。 MySQL設定ファイルも変更する必要はありませんでした。 (システム管理者は、他のユーザのために、デフォルトでlatin1文字セットを使用してMySQLを維持したい。)

+0

リンクは、私のために良い – nkvnkv

10

:あなたは一度だけのみSETを使用して他のコマンドを追加する必要がある

+0

を仕事作成デシベルそれを変更しません。 –

関連する問題