Почему кодировка ASCII установлена ​​по умолчанию в моем проекте Django2.0? Как это изменить? - PullRequest
0 голосов
/ 26 июня 2018

После отправки на сервер мое приложение Django начало вызывать UnicodeEncodeError в различных местах кода (например, при печати, обработке запроса в представлениях):

> UnicodeEncodeError: 'ascii' codec can't encode characters in position
> 165-168: ordinal not in range(128)

ASCII кодек? Я использую Django2.0 и Python 3.6, которые по умолчанию используют UTF-8. Кроме того, для конфигурации я все еще использую SQLite, который всегда использует UTF-8 для внутренней кодировки, так что это не проблема с базой данных. У меня нет никаких дополнительных настроек для кодирования (я использую такие вещи, как LANGUAGE_CODE, USE_I18N, USE_L10N, но я не понимаю, как это может быть актуально), особенно я не установил DEFAULT_CHARSET или LC_CTYPE.

На моем локальном компьютере мое приложение работает нормально, поэтому я проверил файл bin / активации среды на сервере, но там не нашел ничего подозрительного.

Я даже пытался установить кодировку явно, добавив # -*- coding: utf-8 -*- сверху, но без заметного эффекта.

Что может быть источником этой проблемы? Какие настройки в приложении заказа сервера пытаются кодировать не-ascii символы с помощью кодека ASCII? Как это изменить?

...