[Python] UnicodeEncodeError: 'ascii' codec can't encode 

들어가며

  파이썬으로 구현을 하다보면 한번씩은 겪는 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으로 변환이 되고, 출력을 제대로 할 수 있다. 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 



출처: https://ourcstory.tistory.com/39 [불로]

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED