UnicodeEncodeError 발생

맥에서는 없던 인코딩 오류가 윈도우로 넘어오니 발생했다. strftime을 사용할 때 한글을 사용하면 UnicodeEncodeError가 발생한다.

파이썬 코드

"{}".format(datetime.today().strftime("%Y년 %m월 %d일 기준"))

에러 메세지

UnicodeEncodeError: 'locale' codec can't encode character '\uae30' in position 9: encoding error

UnicodeEncodeError 해결

간단하게 해당 문구를 유니코드로 인코딩 후 디코딩(.encode('unicode-escape').decode()), 그리고 다시 인코딩 후 유니코드로 디코딩(.encode().decode('unicode-escape'))하면 된다.

수정한 코드

"{}".format(datetime.today().strftime("%Y년 %m월 %d일 기준".encode('unicode-escape').decode()).encode().decode('unicode-escape'))