본문으로 바로가기
728x90
반응형

개요

집에서는 docker를 통해 MySQL 컨테이너를 쓰고 있다. 호스트 컴퓨터는 windows 10, docker를 쓰고 있는 운영체제는 VMware에다 ubuntu 20.04를 올려서 사용하고 있다. windows에서 postman을 통해 ubuntu에다 post() 요청을 수행했을 때 다음과 같은 에러가 일어났다.

 


/etc/my.cnf 수정하기

해결방법은 /etc/my.cnf 파일에 아래의 내용을 추가함으로 써 해결할 수 있었다.

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server=utf8

위의 내용을 추가하기 전 characterset이 latin-1로 잡혀있었지만 적용 후 아래와 같이 인코딩이 변경됨을 확인했다.


그래도 안된다면?

위와 같이 설정하고 다시 docker container를 다시 재실행시켰음에도 불구하고 한글 입력이 안된다면 다음과 같이 show create table로 필드에 다음과 같은 속성이 걸려있진 않은지 확인해보자.

  `_id` char(36) CHARACTER SET latin1 NOT NULL,

아마 위와 같이 걸려있으면 개요에서 언급한 증상이 계속 일어날 것이다.  위와 같이 CHARACTER SET이 걸려있는 alter로 해제시키든 아니면 처음부터 DB를 셋팅해서 만들던 해주도록 하자.

 

 

 

 

 

 

 

728x90
반응형

'Frame Work > Django' 카테고리의 다른 글

django, ForeignKey N+1  (1) 2021.08.16
django, timezone에 관한..  (0) 2021.08.14
django.db.utils.OperationalError: (1060, "Duplicate column name)  (0) 2021.04.27
setting.AUTH_USER_MODEL Error  (0) 2021.04.17
AbstractBaseUserModel 다루기  (0) 2021.04.11