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') 했더니 문제가 해결되었다.

 

+ Recent posts