Рекомендации по изменению кодировки по умолчанию для сайта Django - PullRequest
1 голос
/ 16 ноября 2010

Django поставляется с поддержкой юникода из коробки и по умолчанию поддерживает utf-8. Допустим, вы успешно разработали, отладили и протестировали сайт с кучей приложений Django в utf-8. Какие шаги требуются для наиболее безболезненной миграции в другую кодировку, скажем, latin-1? Я хотел бы, чтобы ему просто потребовалось установить DEFAULT_CHARSET = 'latin-1' и изменить кодировку базы данных, но я почему-то сомневаюсь, что это так просто.

Ради обсуждения вы можете игнорировать миграцию любых уже сохраненных данных utf-8 в базе данных; В основном меня интересуют необходимые проверки и изменения в коде Django, а также конфигурации базы данных и веб-сервера.

1 Ответ

2 голосов
/ 16 ноября 2010

Вам не нужно вносить значительные изменения в вашу кодовую базу Django.Даже если ваш рабочий набор символов будет UTF-8, данные будут храниться в вашей базе данных с использованием выбранной кодировки базы данных.

У вас есть действительно ДЕЙСТВИТЕЛЬНО веская причина для перехода с UTF-8 на латиницу-1?

Если вас беспокоит кодировка символов в выводе, вы, вероятно, захотите решить эту проблему, используя параметр, на который ссылаются, а не на уровне базы данных, где вы можете потерять данные.

Больше информации об этом здесь:

http://docs.djangoproject.com/en/dev/ref/unicode/

...