0
にUnicodeを挿入する場合:不正ミックスDjangoのテスト中にUnicode文字を含む行を挿入するとき、私は、このエラーに実行しているデータベース
InternalError: (1267, u"Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation '='")
犯人:
نعليقات و
を今、私はいくつかの研究を行なったし、それは私が行うために提案されました:
SET collation_connection = 'utf8_general_ci'
ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_general_ci
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci
私はこの例に続き、これをしませんでした代わりに、ジャンゴに:
cursor = connection.cursor()
cursor.execute('SHOW TABLES')
results = []
for row in cursor.fetchall():
results.append(row)
cursor.execute(
'ALTER DATABASE mydb CHARACTER SET utf8mb4 '
'COLLATE utf8mb4_general_ci;')
for row in results:
cursor.execute(
'ALTER TABLE %s CONVERT TO CHARACTER SET utf8mb4 '
'COLLATE utf8mb4_general_ci;' % (row[0]))
注:私は絵文字をサポートする必要があるので、私はそれがMB4する必要が理由は次のとおりです。
Happy Birthday! タクミ!
私はこれを持っています: 'OPTIONS':{'charset': 'utf8mb4'}、 –
'use_unicode'も必要です。私は知らない。 –