Gaebal/Python

[python] encoding error

ha3kkkkk 2020. 11. 27. 23:23

date 모듈과 더불어 가장 별거아니면서 많은 시간을 잡아먹는게 encoding 에러다.

 

이 게시글은 마주한 인코딩 에러와 해결방법에 대해 모아보려한다.

 

 

 

1. UnicodeEncodeError: 'cp949' codec can't encode character '\u32bd' ...

일단 같은 인코딩에러가 여러번 반복되면 드는 생각이. 대체 저게 뭔글자인데!? 하는거다.

유니코드 같은경우 아래사이트에 쳐보며 어떤 글자인지 쉽게 확인가능하다.

(참고하라고 본인의 에러 유발 글자를 미리 쳐놨다)

unicode.scarfboy.com/?s=U+32bd

 

㊽ - Unicode codepoint lookup/search tool

Notice: I'll be updating the information in the next weeks. It'll be broken occasionally.

unicode.scarfboy.com

위 페이지에서 'Encodings that can encode this properly'를 보면 무엇으로 인코딩해야할지 알 수 있다.

 

 


SOLUTION-1

윈도우 환경에서 파이썬 실행중이라면 print() 할 때 cp949~~ 에러가 날 수 있다.

MS에 기본 인코딩이 cp949이기 때문이다. 해결 방법은 하기 포스팅을 참고하자. 

ryanking13.github.io/2018/09/03/cmd-deafult-command.html

그리고 만약 나처럼 윈도우는 코드 테스트 용도이고 실제로는 리눅스를 사용한다면,

그냥 해당 에러를 무시할 수 도있다. (실제코드에서는 try-except 제거해야한다)

try:
    print(line)
except UnicodeEncodeError:
    pass