Я недавно развернул свое приложение Django на предварительно установленном хост-сервере (Red Hat) и после недолгого использования обнаружил ошибку UnicodeEncode после загруженных изображений, которые содержат символы кириллицы (точнее, русского), но сохраняют CharFields данные на русском работают просто отлично.
Однако идентичный код работает без ошибок на моих персональных компьютерах (проверено как в Ubuntu, так и в Windows). После проверки кодировки файлов на сервере выяснилось, что системной кодировкой по умолчанию на хостинге является ANSI, которая является расширением ASCII
В этот момент я связался со службой технической поддержки, и они заявили, что это может быть ошибка Django, потому что они используют кодировку UTF-8 на своих серверах (Как тогда демонстрирует sys.getfilesystemencoding (), которая унаследована от кодировки ОС, является ASCII? )
Моим другим подозрением были испорченные локали
И это оказалось правдой.
В любом случае, есть ли какая-то причина, по которой это ошибка Django, и это можно исправить с помощью взломов Python / Django, или это полностью ошибка сервера?
Редактировать: Для ясности, это не VDS, это просто обычный хостинг с предустановленной конфигурацией, поэтому я не имею полного контроля над настройками среды, однако я могу настроить файл .htaccess и скрипт .fcgi, так что я считаю, что это Сервер Apache