Programming/Solution
[Error] UnicodeEncodeError: 'latin-1' codec can't encode characters: Python
코딩슬라임
2019. 12. 8. 20:33
response.headers["Content-Disposition"] = "attachment; filename=%s.xlsx" % date
현재의 날짜를 받아와서 날짜를 포함한 파일이름을 저장하려고 하니 다음과 같은 에러가 계속 떴다.
UnicodeEncodeError: 'latin-1' codec can't encode characters
dt = datetime.datetime.now()
date = dt.strftime("%m월세금계산서").encode('utf-8')
아무리 변수 타입을 확인해봐도 dt는 str 타입이었고, encode('utf-8')을 했더니 바이트 타입이 되어 그대로 파일명이 'b'12_xec_x9b_x94_xec_x84_xb8_xea_xb8_x88_xea_xb3_x84_xec_x82_xb0_xec_x84_x9c''이 되어버렸다.
dt = datetime.datetime.now()
date = dt.strftime("%m월세금계산서").encode('utf-8').decode('iso-8859-1')
encode('utf-8').decode('iso-8859-1') 했더니 문제가 해결되었다.