2015년 2월 10일 화요일

MYSQL의 문자코드셋을 UTF8로 변경하기

안녕하세요.

다섯번째 강의 내용입니다.

데이터베이스인 MYSQL에서 한글과 일본어 같은 문자가 저장되면 알수없는 문자 코드로 표시가 됩니다.

이것은 문자변환에 대한 처리가 이루어지지 않았기 때문일수도 있지만

현재 디비 설정에는 라틴어로 설정되어있기 때문에 웹에서 입력한 한글, 일본어 같은

문자들이 라틴어로 변환되어 깨져서 저장되기 때문입니다.

이런경우는 SQL로 해당하는 한글이나 일본어 검색기능이 제대로 되지 않습니다.

이 방법을 이번 강의에서 해결해 보도록 하겠습니다.

작업의 순차는 아래와 같습니다.

1. 기존 MYSQL의 문자 코드셋을 확인한다.

2. MYSQL의 설정파일인 my.cnf파일을 편집한다.

3.관리자 권한으로 MYSQL을 재기동한다.

4.변경된 MYSQL의 문자 코드셋을 확인한다.

자 그럼 따라 해보세요.

1. 기존 MYSQL의 문자 코드셋을 확인한다.

->mysql -uroot -p mysql
   MYSQL에 root사용자로 접속한다.패스워드는 lamp-server패키지 설치시
   입력했떤 mysql패스워드를 입력한다.

->show variables like 'char%';
    현재 MYSQL의 문자 코드셋 정보를 표시한다.

->quit
    MYSQL을 종료한다.

2. MYSQL의 설정파일인 my.cnf파일을 편집한다.

 ->sudo vi /etc/mysql/my.cnf
     관리자 권한으로 vi 에디터를 기동해서 my.cnf를 편집한다.

 ->vi에디터에서 줄번호 표시
     키보드에서 [esc]키를 입력후 [:]콜론과 함께
      [set nu]를 입력하고 엔터를 누른다.
      그러면 아래와 같이 줄번호가 표시된다.

 ->45번째 행부터 48번행까지의 아래의 속성문자열을 추가한다.

skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8

3.관리자 권한으로 MYSQL을 재기동한다.

->sudo service mysql restart
   

4.변경된 MYSQL의 문자 코드셋을 확인한다.

 ->show variables like 'char%'
     [latin1]->[utf8]로 바뀐것을 알수 있다.

이것으로 MYSQL의 문자 코드셋을 변경완료했습니다.

댓글 없음:

댓글 쓰기