Продолжаю собирать шишки во время деплоя Django на виртуальный хостинг. Пока имею дело с хостерами рунета. Скучать не приходится. Каждый новый хостер — новая проблема.
Итак, Spaceweb открывает соединение с базой MySQL в национальной кодировке cp1251, а не толерантной utf-8. Это приводит к выбросу исключения вида «codec can’t decode byte…» где-то в недрах модуля MySQLdb.
Я расцениваю это исключительно как оголтелое проявление национализма и разжигание розни на национальной почве.
Лечится так
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'xxx', 'USER': 'xxx', 'PASSWORD': 'xxx', 'HOST': '', 'PORT': '', 'OPTIONS': { 'init_command': 'set names utf8', }, } }