인프런 커뮤니티 질문&답변

댕청토마토님의 프로필 이미지

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

Elasticsearch 연결

docker mysql dbeaver utf-8 error

해결된 질문

작성

·

417

·

수정됨

0

docker로 mysql server를 띄우고 product_category table 에서 전자제품, uuid 를 등록하고 save를 누르면 한글을 인식할 수 없다는 에러가 납니다. 해결방법이 궁금합니다.

ERROR [ExceptionsHandler] Incorrect string value: '\xEC\xA3\xBC\xEC\x86\x8C' for column 'address' at row 1

답변 1

1

안녕하세요 kyman940214님!

해당 에러의 경우 생성된 MySQLcharacter이 한글을 입력받을 수 없는 포맷으로 설정 되었기 때문으로 보여집니다.

여러가지 해결 방법이 있을 것으로 보여지지만, 우선 별도의 커맨드를 입력하지 않는 방향으로 해결할 수 있도록 docker-compose.yaml 파일에 아래의 코드를 추가해 주시길 바랍니다.

command: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']

위 커맨드는 생성된 MySQL 컨테이너의 character을 변경하는 커맨드입니다. 그리고 여기서 설정되는 utf8mb4는 한글을 지원하는 character입니다.

 

아래와 같이 docker 내부에서 띄워지는 db를 구성하는 yaml에 추가해 주시면 됩니다.

  docker-db:
    image: mysql:latest
    environment:
      MYSQL_DATABASE: mydockerdb
      MYSQL_ROOT_PASSWORD: 'root'
    command: ['mysqld', '--character-set-server=utf8mb3', '--collation-server=utf8mb3_unicode_ci']
    ports:
      - 3306:3306

 

감사합니다 :)

일단 영어로 데이터 저장하고 강의를 마무리 했는데 커맨드 입력하고 한글 데이터 저장해서 해보겠습니다.

친절한 설명 감사합니다 :)