새로 만든 api의 test를 하던 도중에, 프론트엔드 개발자 분께 에러 해결 요청이 왔다.
해당 api로 요청을 보내면 500번대 에러가 뜬다는 것!
바로 에러 메세지를 확인해보니,
django.db.utils.OperationalError: ({아이디값}, "Incorrect string value: '\\xED\\x95\\x9C\\xEA\\xB8\\x80' for column {데이터베이스명}.{테이블명}.{컬럼명} at row 1")
이라는 에러가 떴다.
내용으로 봐서는 한글 인코딩에 문제가 생긴듯 했고, 다른 api는 정상작동하는 것으로 보아서
해당 컬럼의 Character_set만 utf8로 바꾸는 작업을 진행했다.
데이터베이스에 접속해서, 해당 테이블로 이동하고 다음 명령어를 이용하여 해당 컬럼의 Character_set을 utf로 바꿔주었다.
ALTER TABLE 테이블명 MODIFY COLUMN 컬럼 VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci
이모지까지 인코딩할 수 있어야해서 utf8mb4로 바꿔주었고, api는 다시 정상적으로 작동했다.
'Study > BackEnd' 카테고리의 다른 글
[MeMind 리팩토링] 2. OCP 원칙 적용하기 (0) | 2023.12.01 |
---|---|
[MeMind 리팩토링] 1. SRP 원칙 적용하기 (2) | 2023.11.28 |
[FastAPI] SQLModel에서 default와 default_factory 옵션의 차이점 (0) | 2023.11.12 |
[Django] Django model에 InheritanceManager 적용하기 (0) | 2023.06.20 |
[Django] Django Model 상속 알아보기 (0) | 2023.06.06 |