DB/MySQL

[MySQL5.7] 한글깨짐 character set UTF8 설정하기

Imvory 2020. 6. 4. 18:04

mysql로 jdbc를 이용해 DB에 한글 데이터를 insert하니 한글 값이 '???'로 보여
알아보니 기본값이 latin1이더라. character set을 utf8로 변경해주기로 했다.

우선 cmd창을 열어서 확인해보자.

mysql을 관리자 계정(root)으로 접속 후 아래 명령 실행

show variables like 'c%';

status;

나는 다 변경을 해줘서 전부 utf8로 되어있다.

 

여기서부터 설정 방법!

  1. C:\Program Data\MySQL\MySQL Serer 5.7\my.ini
    위 경로로 들어가 my.ini파일을 찾아 열어준다.
    **Program Data 폴더가 안보일 경우 숨김항목 표시

  2. my.ini파일에서 아무것도 건들지말고 맨 아래에 다음내용 복붙!

    [client]
    default-character-set=utf8

    [mysqld]
    collation-server = utf8_unicode_ci
    character-set-server = utf8
    skip-character-set-client-handshake

    [mysql]
    default-character-set=utf8

    [mysqldump]
    default-character-set=utf8

  3. Window검색 '서비스' - MySQL57을 찾아서 서비스를 중지 시키고 다시 시작시킨다.

  4. 다시 cmd창에서 위의 명령들로 바뀌었는지 확인!
    (이미 생성한 database와 table은 바뀌지 않고 새로 생성한 것만 적용됨)

 

my.ini 파일이 없을 경우

https://to-dy.tistory.com/29

 

MySQL my.ini 없을 경우 UTF8 (한글깨짐) 설정

이놈의 MySQL.. UTF-8 설정까지 직접 해야 한단 말이냐!!! my.ini는 온데간데 찾아볼 수가 없다!!! 얌마!!! 진짜 MySQL설치 생각만 하면 짜증난다. 컴퓨터 절대 바꾸기 싫다.. 내가 왜 installer를 안하고 이 �

to-dy.tistory.com

이 분의 글을 참고하면 될 것같다!

나는 ProgramData 폴더를 찾아보지않고 basedir경로를 따라가 확인해보니 my.ini가 없다고 생각했다.

그래서 새로 만들어줬지만 DB와 Server의 characterset만 바뀌지않아 애를 먹었는데

알고보니 이미 my.ini가 있어서 바뀌지 않았던것...ㅠㅠ 그곳에서 수정을 해주니 전부 잘 바뀌었다.