개발자
[django] django.db.utils.OperationalError: (1366, "Incorrect string value: 에러 해결하기
포하
2021. 7. 2. 19:22
django에서 신규생성한 테이블에 크롤링한 데이터를 입력하려 하자 에러가 났다
django.db.utils.OperationalError: (1366, "Incorrect string value: <UTF8 4바이트 문자열>
인터넷으로 찾아보니 데이터베이스가 4바이트 문자열을 지원하지 않아서 그렇다는 말도 있어,
해당 테이블 과 컬럼의 캐릭터셋을 UTF8 4바이트 지원하도록 alter해주는 것
ALTER TABLE <테이블> CHANGE <컬럼> TEXT CHARACTER SET utf8mb4 COLLATE UTF8MB4_UNICODE_CI;
ALTER TABLE <테이블> CONVERT TO CHARACTER SET utf8mb4 COLLATE UTF8MB4_UNICODE_CI;
요즘 이모지(윈도우 + '.' 입력)라고 젊은 친구들이 많이 쓴다는데, 희한하게 UTF8 4바이트 문자열이라고 한다.
운이 좋았다.