Lorsque la tuyauterie de sortie d'un programme en python, l'interpréteur python devient confus au sujet de l'encodage et il définit à Aucun. Cela signifie qu'un programme comme celui-ci:
# -*- coding: utf-8 -*-
print u"åäö"
fonctionne correctement lorsqu'il est exécuté normalement, mais ne parviennent pas à:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 0: ordinal not in range(128)
lorsque utilisé dans un tuyau séquence.
Quelle est la meilleure façon de faire ce travail si la tuyauterie? Je peux juste dire qu'il utilise le codage de la coquille/système de fichiers/tout ce qui est aide?
Les suggestions que j'ai vu jusqu'à présent est de modifier votre site.py directement, ou coder en dur les defaultencoding à l'aide de ce hack:
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
print u"åäö"
Est-il une meilleure façon de faire de la tuyauterie de travail?