mysql dump 파일을 다시 디비에 넣는 중 한글 문제 발생시 처리방법

1. euc-kr로 덤프한 파일을 utf-8 디비에 넣을때 명령어

root > mysql –default-character-set=euckr -u 아이디 -p 디비명 < dump_file.sql

> 암호입력

2. dump 파일은 euc-kr 이고 DB utf-8 일때  mysql 버전에 따라 –default-character-set 옵션이 동작하지 않아 insert 가 안되거나 한글이 깨져서 입력될 경우

dump_file.sql 파일을 열어서 상단에 다음 추가 하고 다시해보자.

root > vi dump_file.sql

첫줄에 다음 내용 추가 후 저장

set names utf8;

root > mysql –default-character-set=euckr -u 아이디 -p 디비명 < dump_file.sql

> 암호입력

 
 
 

3. 호스팅을 받고 있어서 mysql 설정을 직접 바꿀 수 없는경우 character set을 바꾸려면 컨넥션 후 다음 쿼리를 날려주자

이런 경우는 호스팅 서비스를 이전하는것도 방법이지만 버전차이로 인해서 오류가 발생 할 수 있으니 미리 체크하자 

set names utf8

set session character_set_connection=utf8

set session character_set_results=utf8

set session character_set_client=utf8

PHP 기준으로 설명하면 다음과 같다.

mysql_query(“set names utf8”, $db);

mysql_query(“set session character_set_connection=utf8”, $db);

mysql_query(“set session character_set_results=utf8”, $db);

mysql_query(“set session character_set_client=utf8”, $db);

#MYSQL #Dump #디비덤프 #mysql dump #mysql insert