Форум сайта python.su
Добрый день, Cron выдаёт ошибку “UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 1-6: ordinal not in range(128)”. Порыскал, вроде надо прописать LC_ALL='ru_RU.UTF-8'.
http://djbook.ru/rel1.7/howto/deployment/wsgi/index.html
http://habrahabr.ru/post/116894/
Вопрос: в каком файле это надо указать и как этот файл найти? Пробовал в settings.py.
Офлайн
hdjвообще то это запись в системном окружении unix подобных систем. Это НЕ относится к джанго и питону.
LC_ALL='ru_RU.UTF-8'.
LANG=ru_RU.UTF-8Что бы явно прописать эти настройки нужно в домашней директории пользователя в файле .bashrc написать нужные параметры, например export LC_ALL=“ru_RU.UTF-8” .
LC_ALL=
Офлайн
У меня python 3.4. # coding: utf-8 и кодировка самого текста в utf-8 не помогли.
locale выдаёт все значения переменных как ru_RU.UTF-8.
Интересный момент. Пробовал в консоли вводить:
export LANG='en_US.UTF-8'
export LC_ALL='en_US.UTF-8'
Переменные меняются, но ошибка также выводится.
А если прописываю в команде Cron'у (в панеле управления):
export LANG='en_US.UTF-8' && export LC_ALL='en_US.UTF-8' && /home/***/.virtualenvs/***/bin/python manage.py main_f > /home/***/domains/***.djangohost.name/public_html/result_cron.txt 2>&1
то ошибки не возникает.
JOHN_16Где найти домашнюю директорию пользователя? У меня в папке /home/my_user_name/ есть два файла .bash_history и .bash_profile.
Что бы явно прописать эти настройки нужно в домашней директории пользователя в файле .bashrc написать нужные параметры, например export LC_ALL=“ru_RU.UTF-8” .
Отредактировано hdj (Март 4, 2015 10:21:28)
Офлайн
hdj
самому создать файл.
еще как вариант в кроне прописать PYTHONIOENCODING=utf8 перед командой python . Оказывается это у меня же на сервере и используется. Видимо тоже была такая же ошибка. Но у меня Питон 2, почему такое с 3 происходит при настроенной локали - пока что загадка
Офлайн
JOHN_16А как это прописать?
hdjсамому создать файл.еще как вариант в кроне прописать PYTHONIOENCODING=utf8 перед командой python.
Офлайн