Python에서 stdout을 파이핑할 때 올바른 인코딩 설정

| | | | |

파이썬 프로그램의 출력을 파이핑할 때, 파이썬 인터프리터는 인코딩에 대해 혼란스러워하고 그것을 없음으로 설정합니다. 이것은 다음과 같은 프로그램을 의미합니다.

# -*- 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"åäö" 

배관을 만드는 더 좋은 방법이 있습니까? 일?

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method