MySQL UTF8 설정

개요

MySQL 사용시 한글로 된 comment, 한글값 입력등을 위해서는 처리하기 위해서는 문자셋을 변경하는 것이 좋습니다. MySQL을 사용하는 클라이언트에서 fetch후에 encoding을 변경하는 방법도 사용할 수 있지만, 번거롭고 썩 좋은 방법같지는 안습니다.
별다른 설정없이 기본값으로 설치를 한다면 mysql db의 문자셋이 latin1으로 되어 있으므로, 한글값을 사용하기 위해서는 아래와 같이 UTF8 문자셋을 변경할 수 있습니다.

설정 전 문자셋

아래와 같이 기본설정이 latin1으로 되어 있음을 확인할 수 있습니다.
 

이 경우 Toad 등으로 확인하면 Comment가 깨져보입니다.

또한 한글이 포함된 SQL, DML 등이 정상처리 되지 않습니다.
사용자 삽입 이미지

MySQL 서버 문자셋 변경후 재기동

my.cnf를 열어서 아래의 내용을 추가하거나 수정합니다.
이후 재기동후 확인해 보면 변경된 캐릭터셋을 확인할 수 있습니다.
MySQL 재기동은 OS마다 상이합니다.
  • Linux : service mysqld restart
  • Solaris : mysql restart
 

Client에서의 연결 변경

Client쪽에서는 연결문자에 캐릭터셋을 설정합니다.
C#에서는 아래와 같이 수정하였습니다.
 

Table 생성시 문자셋 지정

테이블 생성시 comment를 한글로 설정하면 차후 참고할때 도움이 됩니다.
테이블의 캐릭터셋은 아래와 같이 설정할 수 있습니다.
 

이후 Toad로 확인해 보면 정상 처리됨이 보입니다.
사용자 삽입 이미지

SecureCRT 설정

Telnet 프로그램에서 UTF8로 변경된 값을 폰트를 변경해야 합니다.
제가 주로 사용하는 SecureCRT에서는 아래와 같이 폰트를 변경합니다.
사용자 삽입 이미지
폰트 변경 후 한글을 확인할 수 있습니다.
사용자 삽입 이미지

CC BY-NC-ND 2.0 KR

이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용할 수 있습니다. 크리에이티브 커먼즈 라이선스

저작권과 관련된 파일요청 및 작업요청을 받지 않습니다.

댓글 남기기