본문 바로가기
Database

Mysql Character set = utf8 설정

by GoodDayDeveloper 2020. 9. 10.
반응형

Mysql Character set = utf8 설정

 

언제나 한글 깨짐 문제로 인한 캐릭터  확인  변경 작업이 많습니다..

일단 DB 저장된 한글이 클라이언트에서  보이는 경우는 클라이언트의 인코딩 값을 변경해서 조치를   있습니다.

그러나 저장 당시의 인코딩 값이 서로 다른 한글이 들어가 있을 경우는 어떤 한글은 정상적으로 보이지만어떤 한글은 깨져서 보이는 경우가 발생하게 됩니다.

MySQL 기본으로 서버 캐릭터 셋이 latin1으로 설정 되어 있어서 DB 생성  캐릭터  값을 지정해주지 않으면 latin1으로 생성이 됩니다.

 

Character set ?

사용하는 언어를 표현하기 위한 문자들의 집합을 의미한글을 표현하기 위하여 사용하는 캐릭터 셋에는 여러가지가 존재 합니다.

Encoding ?

Character Set을 컴퓨터가 이해할 수 있는 바이트와 매핑해 주는 것입니다.

 


 

MySQL 기본 패키지는 character set latin1 설정되어 있습니다. 따라서 서버에 따라서 세팅을 바꿔줘야 필요가 있습니다

 

mysql 콘솔에 접속하여 상태값을 확인합니다.

 

 

상태값 확인 과정

 

데이터 베이스 접속 : Mysql –u 사용자명 –p

현재상태보기 : status

 

 

 

 

여기서 가장 중요한 부분!

mysql 폴더에 들어가서 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

 

 

 

 

 

 

그리고 서비스에 들어가 mysql을 중지 후, 재 시작을 해주면 반영이 됩니다. 

 

 

 

 

 

MySQL 5.5 부터는 default-character-set 옵션이 제거되었고 character-set-server  설정해 주면 됩니다.

skip-character-set-client-handshake  빠지면 client  시스템 encoding  사용하는데 윈도의 경우 euckr  설정 될수 있으므로 필요합니다.

반응형

댓글