UnicodeEncodeError: ‘latin-1’ codec can’t encode characters in position

Довольно распространенная проблема для скриптов на Pyhton которые переносишь на другой сервер. А ларчик обычно открывается просто — в скрипте используются символы UTF-8, а локаль консоли куда выводятся данные — скорее всего просто en_US, не UTF8.

Решение:

Далее выбираем все ru_RU.xx, и консоль по умолчанию в en_US.UTF-8

Проблема с кодировкой локали скриптов Python выполняемых из crontab

Столкнулся с проблемой, что скрипт выполняемый из консоли работает корректно, а выполняемый из crontab — пишет ошибку

UnicodeEncodeError: ‘ascii’ codec can’t encode

Дело в том, что задания выполняемые из crontab имеет кодировку по умолчанию ascii. Потому нужно в /etc/crontab добавить строчку:

LANG=ru_RU.UTF-8