Skip to content

Instantly share code, notes, and snippets.

@philippeowagner
Last active November 25, 2020 13:02
Show Gist options
  • Star 11 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save philippeowagner/6530635 to your computer and use it in GitHub Desktop.
Save philippeowagner/6530635 to your computer and use it in GitHub Desktop.
Having troubles with 'latin1_swedish_ci' on your MySQL Databases? Specially `OperationalError (1267, "Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='")`? No problem, fix it using Django's shell.This solution is based on this http://stackoverflow.com/questions/1073295/django-character-set-w…
from django.db import connection
from django.conf import settings
cursor = connection.cursor()
cursor.execute('SHOW TABLES')
results=[]
for row in cursor.fetchall():
results.append(row)
for row in results:
cursor.execute('ALTER TABLE %s CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;' % (row[0]))
cursor.execute('ALTER DATABASE %s CHARACTER SET utf8;' % settings.DATABASES['default']['NAME'])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment