sqlalchemy mysql encoding 문제
A. 로컬에서 테스트를 마치고 서버에 배포를 하니 ???? 형태로 저장된다.
B. 로그를 보니 latin-1 UnicodeEncodeError 가 난다.
이런 일은 숱하게 겪어왔으므로 가벼운 마음으로 설정을 시작했으나 역시 삽질로 빠지고 말았다.
이 상태에서 이틀을 삽질을 했는데, 결론은... 기존에 생성된 database 설정을 바꾸지 않았다.
즉,
1-a) mysql 설정을 한 후
1-b) 재시작하고
1-c) database 를 생성해서 utf-8 적용 설정을 확인하고
1-d) 기존 database 의 테이블을 drop 했다.
이렇게 적어 놓고 보면 왜 database 를 새로 안만들었지? 하는 의문이 드는데, 문제를 파내려 가다 보니 추가적인 여러 문제들 - unicode 로 받은 데이터를 utf-8 인코딩으로 변환한다거나, __repr__ 에러를 처리한다거나 등등 -을 만나서 양털을 깎다 보니 미처 의심하지 못했던 듯하다.
어쨌건 문제는, database 를 삭제 후 재생성해서 해결했다.
댓글
댓글 쓰기