Старый добрый 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