Старый добрый UnicodeDecodeError, Django и Apache

Опубликовано Вт. 29 Апрель 2014 в Tips

При работе с python часто возникает баг UnicodeDecodeError. Вот и у меня на todo'шке он тоже завелся, давно так.. почти год назад. Для меня он был не критичен, поэтому после тщательной подготовки, концентрации воли, духа, маны была тщательно спланирована и осуществлена ранним утром операция по его устранению. Но вроде все просто и дел на пару минут, но воспаленный бессонной ночью мозг смог и тут отыскать проблемы. Суть решения сводится к добавлению вот таких строк в /etc/apache2/envvars:

export LANG='en_US.UTF-8'
export LC_ALL='en_US.UTF-8'

Вроде все просто, добавил две строчки, перезапустил apache и забыл. Но нееет, меня угораздило зациклится на том, что мне нужна не en_US, а именно ru_RU локаль. Естествено, все попытки были тщетны. Потом с помощью гугла нашел подсказку:

echo $LANG

Каково было мое удивление, когда терминал мне ответил, что, дескать, локаль-то в системе en_US, а не так желаемая мною ru_RU. Закончив сии безобразные потуги выдавить из себя чуть больше, чем есть на самом деле, добавил две строчки в файл, ребутнул апач и успокоился. Не всегда полезно сначала думать, а потом делать. Надо над этим подумать, кстати.

Да, в FreeBSD, подобная проблема решалась вот так (убедился лично):

pw usermod -n <имя пользователя, под которым бегает апач> -L russianutf8
Яндекс.Метрика