본문 바로가기
STUDY/전자정부프레임워크 & Mysql

[mysql] 윈도우 mysql utf-8 설정

by Anne of Green Galbes 2020. 6. 22.

mysql에서 데이터를 넣다보면 다음과 같은 에러코드가 발생하는 경우가 있다.

Error Code : 1336, 이 에러는 한글 데이터를 넣을 때 발생한다. 이 에러로 시간을 많이 잡아먹어서 정리해놓는다.

 

1. my.ini 파일 수정

C:\ProgramData\MySQL\MySQL Server 5.6 풀더로 들어가자. 여기서 주의 할 것은 Program Files가 아닌 ProgramData 풀더이다. 버전에 따라 5.6이 아닐 수도 있다. 

my.ini 파일을 열어서 다음을 맨 밑에 추가한다.

[client]

default-character-set=utf8

 

[mysqld]

character-set-client-handshake = FALSE

init_connect="SET collation_connection = utf8_general_ci"

init_connect="SET NAMES utf8"

character-set-server = utf8

 

[mysql]

default-character-set=utf8

 

[mysqldump]

default-character-set = utf8

 

2. mysql 재시작 하기

workbench에서 좌측의 Administration > Startup / Shutdown 에서 Stop Server를 누르고 서버가 종료되면 다시 Start Server를 눌러 서버를 재시작해주자.

 

3. 기존 데이터베이스 설정 변경

mysql 한글 설정을 해도 기존에 만들었던 데이터베이스는 utf-8 설정되어 있지 않아 데이터베이스를 수정하고 테이블을 다시 만들어야 한다. 

 

먼저 수정하고자 하는 데이터베이스에서 우클릭 후 Alter Schema를 눌러주자.

Charset/Collation 부분이 latin1과 latin1_bin으로 설정되어 있는데 이를 utf8, utf8_general_ci으로 바꾼 후 Apply를 눌러주자.

 

4. 데이터 입력

이제 다음과 같이 데이터가 제대로 입력되는 것을 확인할 수 있다.

 

참고한 블로그

https://repacat.tistory.com/19

댓글