본문 바로가기

언어/Python

스크래피(Scrapy) UnicodeEncodeError, 한글 깨짐


Scrapy를 사용해보면서 

GitHub로 윈도우환경과 우분투를 번갈아가면서 코딩하게 됐는데,

 우분투상에서 spider를 돌리면 저렇게 오류가 발생했다.


UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)



1. 우분투 한글 인코딩 방식 바꾸기, locale 수정

내가 사용하는 두개의 시스템에서 한글 인코딩이 달랐다.

$ locale 로 현재 우분투에서 어떤 인코딩을 사용하는지 확인하고

/etc/default/ 에 있는 

locale 파일을 수정한다.



2. 파이썬 코드 내부에서 수정

우분투에서 사용하는 인코딩 방식으로 인코딩해줄 수도 있다.

.encode("utf-8")

요렇게,

encode 함수를 사용하면 정상적인 결과를 출력할 수 있다.


 

(내가 사용한 부분)


여러환경에서 사용한다면

당연히 첫번째 방법으로 동일한 인코딩으로 맞춰놓는게 더 편할 것이다.



'언어 > Python' 카테고리의 다른 글

파이썬3 인코딩과 파일 인코딩 변환 문제  (0) 2017.08.25