본문 바로가기
쿤즈 Server/MariaDB | Mysql

[MariaDB] character set 변경 방법

by :)Koon 2021. 1. 2.

우리나라의 언어는 컴퓨터가 처리하기 위해서는 character setting을 다시 해줘야 합니다. 기본적인 default 설정값이 한글을 표현할 수 있는 설정이 아니기 때문이죠.

 

이 포스팅에서는 MariaDB에서 한글을 사용할 수 있도록 설정값을 변경하는 방법을 알아보도록 하겠습니다.


한글처리 UTF-8

사실 한글처리를 하기 위함은 EUC-KR이라는 Character set(캐릭터셋)을 이용하면 됩니다. 그럼 한글 처리를 하기 위해서는 왜 캐릭터셋을 변경해 줘야 할까요?

 

영어권 국가들의 언어는 한글자를 1byte로 표현이 가능합니다. 하지만 한글, 일본어, 중국어와 같은 글자들은 한글자를 표현하는데 2bytes의 크기가 필요합니다. 그래서 컴퓨터가 글자를 인식할때 영어와 다른 표현방법을 이용해야 하는 것이죠. 그렇다보니 한글을 웹이나 데이터베이스에 넣으면 글자가 깨지는 현상들을 마주하게 됩니다. 그래서 EUC-KR이라는 캐릭터셋을 이용하기 시작했습니다.

 

하지만 캐릭터셋에 대한 연구는 계속되었고 모든 글자를 하나의 표현식으로 만들 수 있지 않을까라는 연구에서 시작되어 만들어진 캐릭터셋이 바로 UTF-8입니다. 이를 유니코드라고 합니다. 그래서 오늘은 UTF-8 캐릭터셋으로 MariaDB의 캐릭터셋을 변경해보도록 하겠습니다.


Character Set 변경 방법

MariaDB의 캐릭터셋을 변경하기 위해서는 현재 캐릭터셋이 무엇인지 확인해 봐야합니다. 이미 utf8로 변경이 되어있다면 변경할 필요가 없겠죠? 아래 명령어를 이용해서 캐릭터셋을 확인해 보겠습니다.

[MariaDB ]> show variables like 'c%';

MariaDB를 접속해서 위 명령어를 입력하면 아래와 같은 결과가 나타납니다.

 

현재 저의 결과는 모두 utf8로 변경해 놓은 결과이며 이와 다르다면 latin1과 같은 캐릭터셋으로 나올 수 있습니다. 그럼 이제 환경파일을 수정해보도록 하겠습니다.

 

환경설정 파일은 /etc/my.cnf 파일입니다. 보통 원본 파일은 그대로 남겨두는 습관을 들이면 좋습니다. 원본은 하나 복사해 두고 이 파일을 vi편집기를 이용해서 다음과 같이 편집해줍니다.

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqldump]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

만약 대괄호가 있다면 아래 추가해 주시면 되고, 대괄호에 해당하는 부분이 없다면 넣어주시면 됩니다. 모두 입력을 완료했다면 저장하고 나와서 서비스를 다시 시작해 주시면 됩니다.


이 포스팅에서는 MariaDB의 캐릭터셋을 변경해서 한글을 사용할 수 있는 방법에 대해서 알아보았습니다. MariaDB는 MySQL과 설정파일도 동일해서 MySQL에서도 설정이 가능합니다. 이상입니다.

댓글