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 |
---|