При компоновке вывода программы Python интерпретатор Python путается с кодировкой и устанавливает ее в None. Это означает такую программу:
# -*- coding: utf-8 -*-
print u"åäö"
будет нормально работать при нормальной работе, но с ошибкой:
UnicodeEncodeError: кодек 'ascii' не может кодировать символ u '\ xa0' в позиции 0: порядковый номер не в диапазоне (128)
при использовании в последовательности труб.
Каков наилучший способ сделать эту работу при работе с трубопроводом? Могу ли я просто сказать, что нужно использовать любую кодировку оболочки/файловой системы/все, что используется?
Предложения, которые я видел до сих пор, - это изменить ваш site.py напрямую или жестко кодировать стандартное кодирование с помощью этого взлома:
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
print u"åäö"
Есть ли лучший способ сделать работу трубопровода?