abctrend 트랜드 블로그 햄버거 메뉴

목차

    반응형
    [그누보드 DB]phpMyAdmin 으로 MySQL 디비 테이블 문자셋 euc-kr 에서 utf-8 로 변경하기

     

    그누보드5 가 utf-8 버전으로만 제공이 되고 있으나, 

    과거의 g4 초창기 시절에는 euc-kr 버전이 많이 설치가 되었던 것은 사실이다. 


    디비 charset 뿐만 아니라, php 소스의 문자셋, html 의 charset 까지 모두 euc-kr 로 해 놓고 사용했었다. 

    지금이야 무조건 utf-8 이라고 외치지만, 당시에는 그러려니 했었다. 


    세월이 흘러 모바일 세상과 함께 utf-8 이 대세가 되는 시절이 도래하여, 다른 시스템과의 호환을 위해서 utf-8 로의 변환이 필요한 경우가 발생한다. 실제로 ajax 로 데이터를 받아올 경우 문자셋이 다르면 한글이 깨지기도 한다. 물론 해결 방법이 없지는 않다. 


    추천하는 방법은,

    우선 php 소스와 html 의 charset 을 utf-8 로 변경하는 것이다. 

    이게 선행되어야 한다. 그래야 그누보드5 에 있는 g4 import 에서도 별 무리없이 잘 동작한다. 


    서버가 euc-kr 이고 mysql 의 테이블이 euckr 인 상태에서, php 소스와 html 의 charset 이 utf-8 이라도,

    웹사이트의 한글 문제는 발생하지 않는 것으로 보인다. 



     

    다음, 서버 이전이나 g5 로 업그레이드를 위해서 디비 테이블 charset 변경하기

    서버 콘솔 상에서 변환하는 방법은 많이 검색이 되는데, 이보다 접근이 편한 phpMyAdmin 으로 작업하는 방법을 소개한다. 


    1. 기존 디비에서 export 하기

     

    기존 euckr 로 되어 있는 데이터베이스를 내보내기(export) 한다. 

    이때, 디폴트로 go 를 눌러도 되지만, 일부 테이블만 내보내기 하려면 custom 을 선택하면 된다.

    xxxxxxxx.sql 의 이름을 가진 텍스트 파일이 다운받아 진다. 


    2. 다운받은 파일을 텍스트 에디터로 열어보면, create 문과 insert 문으로 된 sql 문장들이 있다. 

    euc-kr 상태인 테이블을 export 받았기 때문에, create 문에 charset 이 euckr 로 지정이 되어있다. 


    이 create 구문의 DEFAULT CHARSET=euckr 을 DEFAULT CHARSET=utf8 로 전부 수정한다. 

    여기서 중요한 것은 utf-8 이 아니라 utf8 이다. '-' 이 없다. ^^



    3. 새로운 디비를 import 하기

    이전할 서버나 데이터베이스에 임포트하기

    아래와 같은 가져오기 화면에서 위에서 수정한 파일을 찾아 go 를 한다. 

     

     

     

    완료된 후에 확인을 해 보면,  아래와 같이 collection 이 utf8_general_ci 로 잘 들어갔음을 알 수 있다. 

     

     

    한글이 있는 테이블을 열어 보면, 한글도 깨지지 않고 잘 나오는 것을 볼 수 있다. 

     

     

     

     

     

    반응형
    댓글
    위쪽 화살표
    도움이 되었다면 공감(하트)과 댓글을 부탁드려요.
    로딩바