제기 된 파이썬 예외가 콘솔에서 이기기 위해 인쇄되었을 때 나는 모호한 문제를 보았습니다. 예외 메시지에 유니 코드 리터럴이 포함되어 있으면이 메시지는 전혀 인쇄되지 않거나 부적절하게 인쇄됩니다. 콘솔 인코딩은 cp866유니 코드 리터럴 (u " u0410")을 포함하는 예외 발생시 콘솔 출력을 얻지 못함
파이썬 기본 인코딩이 ascii 인 경우.
raise LookupError(u"symbol: \u0411")
는 다음과 같이 인쇄 가져옵니다 : 나는 UTF-8에 기본 인코딩을 설정하면
LookupError
내가 얻을
LookupError : 기호 : ╨С
내가 할 때 내가 할 두 경우 모두
print u"symbol: \u0411"
:
기호 : Б 행동에서 그 차이가 왜
? 일을 제대로하려면 어떻게해야합니까?
분명히 py3이 좀 물건에 대한 더 나은 지원을하고있다 ... 나는 지역화를하고 나는이 물건에 모든 시간을 투쟁 ... –
"나는 때를 설정 존재하지 않는다 기본 인코딩을 utf-8로 가져옵니다. "- PYHTONIOENCODING 환경 변수에 대해 이야기하고 있거나 모듈의 헤더에 인코딩을 설정하고 있습니까? –
Bob, import sys, reload (sys), sys.setdefaultencoding ("utf-8") – Romeno