У меня есть код python, который печатает сообщения журнала. При запуске в командной строке он отлично справляется с utf-8. Журнальные сообщения, содержащие специальные символы, распечатываются в порядке. Тем не менее, при запуске в фоновом режиме в nohup, он задерживает символы utf-8.
nohup python2.7 myProgram.py &
Ошибка, которую я вижу, это обычная ошибка "попытаться закодировать utf в ascii":
UnicodeEncodeError: кодек 'ascii' не может кодировать символ u '\ u2013' в позиция 71: порядковый номер не в диапазоне (128)
Я предполагаю, что это потому, что nohup сигнализирует python о том, что у него нет нормального терминала, поэтому по умолчанию используется ascii. Есть ли способ сказать nohup для запуска с включенным utf-8 или установить его таким образом, чтобы символы utf-8 не вызывали сбои при работе в nohup в фоновом режиме?