파이썬 프로그램의 출력을 파이핑할 때, 파이썬 인터프리터는 인코딩에 대해 혼란스러워하고 그것을 없음으로 설정합니다. 이것은 다음과 같은 프로그램을 의미합니다.
# -*- coding: utf-8 -*- print u"åäö"
정상적으로 실행되면 잘 작동하지만 다음과 함께 실패합니다.
UnicodeEncodeError: "ascii" 코덱은 위치 0에서 문자 u"xa0"을 인코딩할 수 없습니다: 서수가 범위에 없음(128)
파이프 시퀀스에서 사용될 때.
파이핑할 때 이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 쉘/파일 시스템/무엇이든 인코딩을 사용하도록 지시할 수 있습니까?
지금까지 내가 본 제안은 site.py를 직접 수정하거나 다음 해킹을 사용하여 defaultencoding을 하드코딩하는 것입니다.
# -*- coding: utf -8 -*- import sys reload(sys) sys.setdefaultencoding("utf-8") print u"åäö"
배관을 만드는 더 좋은 방법이 있습니까? 일?