사이트 내 전체검색
PHP
[MySQL] latin1 디비에 저장된 euc-kr 데이타를 utf-8로 변환하기 (2009-03-13 수정)
로빈아빠
https://cmd.kr/php/722 URL이 복사되었습니다.

본문

작업시나리오가 조금 복잡합니다.
mySQL에서 디폴트 언어가 latin1 으로 세팅되어 사용하는 서버가 주변에 많이 있습니다.

UTF-8가 세팅된 서버로 데이타를 이전하고 싶은데 어떻게 해야할지 좀 막막합니다.
이제 그 해답을 여러분께 공개할까합니다.  (필요해서 고민하니 의외로 쉬운길이 ~~)

준비물 :  EmEditor 6.0.4 (Freeware)
             ( http://happyjung.com/gnuboard/bbs/board.php?bo_table=data&wr_id=5&page=3 )

1.
아래 3가지방법에 의해 디비를 dump 받아서 그 데이타의 dump 받은후 EmEditor 에서 확인한 모습

[root@ns v7]# mysqldump -h호스트 -u아이디 -p 디비네임 > db7.sql


[root@ns v7]# mysqldump --default-character-set=euckr -h호스트 -u아이디 -p 디비네임 > db7.sql


[root@ns v7]# mysqldump --default-character-set=latin1 -h호스트 -u아이디 -p 디비네임 > db8.sql


결과물을 보면 알수 있듯이 의외로 latin1 디폴트셋으로 사용된 디비인 경우 euc-kr 이 아닌 latin1 으로 덤프를 받는것이 좋습니다.


2.
DEFAULT CHARSET=utf8 를 DEFAULT CHARSET=utf8 로 변경합니다.



3.
이제 EmEditor의 멋진 기능인  다른 Character-set 으로 저장을 합니다.
EmEditor > File > Save As   >>  Encoding  >  UTF-8 선택
System Default (949, ks_c_5601-1987)   <<== 이것이 latin1 캐릭터 입니다....



이제 디비가 UTF-8로 변경되었습니다.

댓글목록

등록된 댓글이 없습니다.

PHP
871 (5/18P)

Search

Copyright © Cmd 명령어 18.119.19.205