[Python] UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)
들어가며
파이썬으로 구현을 하다보면 한번씩은 겪는 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)
파이썬은 기본적으로 unicode를 사용한다. 그렇기 때문에 한글을 사용하기 위해서는 unicode를 utf-8로 변환해서만 사용할 수 있다. 변경하는 방법은 아주 간단하다. unicode를 utf8로 encoding을 해주면 문제를 해결할 수 있다.
문제점
예를 들어서 웹페이지에서 한글 텍스트를 입력받은 값을 website.text라고 가정하자. 아래 내용은 website.text를 print문으로 출력했을때 UnicodeEncodeError가 발생한다. python 내장함수인 type으로 website.site의 형태를 보면 unicode임을 알 수 있다.
해결 방법
unicode인 website.text를 'utf8'로 encode하면 text의 type은 unicode에서 str으로 변환이 되고, 출력을 제대로 할 수 있다.
'Python > Python 프로그래밍' 카테고리의 다른 글
[Python] 파이썬 인코딩 문제 SyntaxError: Non-ASCII character (0) | 2021.04.27 |
---|---|
[Python] Join, Split 리스트를 문자열로, 문자열을 리스트로 변환 (0) | 2021.04.27 |
[Python] MySQL 설치 및 쿼리 (접속/SELECT/INSERT/DELETE/UPDATE) (0) | 2021.04.27 |
[Python] 유니코드, UTF-8를 해결하는 방법 (Unicode, UTF8) (0) | 2021.04.27 |
[Python] PyCharm에서 패키지 설치하기 (0) | 2021.03.27 |
[Python] 데코레이터(Decorator) (0) | 2021.03.27 |
[Python] 클로저(Closure) (0) | 2021.03.27 |
[Python] lambda (0) | 2021.03.27 |