본문 바로가기

개발/BACK

MYSQL 한글 깨짐 현상 해결

728x90

데이터베이스를 연동하고 데이터를 입력할 때, 한글이 깨지는 현상을 쉽게 볼 수  있다.

데이터 베이스 설정을 통해 한글깨짐 현상을 해결해보자

 

나는 APM을 구축해서 사용하고 있기 때문에 APM_MYSQL5 란 이름으로 서비스가 돌고 있다.

먼저 콘솔을 열어서 mysql -uroot를 입력한다

 


 

mysql 접속 방법은 해당 포스팅의 글을 참고한다

hdhdeveloper.tistory.com/14

 

MYSQL 오류 Access denied for user 'root'@'localhost' (using password: YES ) 오류 해결 방법

해당 오류는 거의 대부분 root 계정의 비밀번호를 잘못 입력했거나 비밀번호를 까먹었을 때 볼 수 있는 오류다. 해당 현상을 해결하기 위해서는 비밀번호를 변경해주어야 한다. 먼저 시작 표시줄

hdhdeveloper.tistory.com


 

show variables like 'char%'; 를 입력해 해당 character set 설정을 확인한다

한글 설정이 되어있지 않다면

character-set-databasse 와 character-set-server 설정이 utf-8로 설정되어있지 않을 것이다

 

설정되어있지 않다면, mysql이 설치되어있는 폴더로 이동한다

해당 폴더안의 my.ini 파일을 찾아서 열어본다

 

해당 폴더를 열어보면 [mysqld] , [mysql] , [mysqldum] 라고 적혀있는 항목을 볼 수 있다

각각의 항목에 해당 내용을 추가해준다

 

[mysqld]
init_connect="SET collation_connection = utf8_general_ci"
init_connect="SET NAMES utf8"
character-set-server = utf8
collation-server = utf8_general_ci

 

[mysqldump]

default-character-set = utf8

 

[mysql]

default-character-set = utf8

 

그리고 다시 mysql 명령창으로 돌아와서 현재 사용하고 있는 데이터베이스에 ALTER 명령문으로 설정을 변경해주어야한다

 

[ALTER DATABASE 'TABLE NAME' CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;]

 

해당 ALTER 문을 입력해준 후, 서비스를 재시작한다

 

서비스를 재시작 하는 방법은

[작업관리자] -> [서비스 탭] -> 이름에 [MYSQL] 또는 사용중인 서비스네임을 찾아 마우스 오른쪽 클릭 -> 다시시작 

순으로 작업해주면 된다

 

이후에 다시 데이터베이스에 한글로 데이터를 입력해보면

정상적으로 들어가는 것을 확인할 수 있다

728x90