mysql insert 시 캐릭터셋(chartset) 변환 방법

요즘은 DB 캐릭터셋을 국내에서만 사용할 것이 아니라면 대부분 utf-8로 설정합니다.

그런데 간혹 윈도우에서 작업하거나 덤프한  쿼리문을 인서트 시켜야 할 때가 있습니다.

이때 서버의 캐릭터셋과 달라서 한글이 깨지는 경우가 있는데 캐릭터셋을 맞춰서 넣어줘야 겠죠!

파일 저장형식은 euc-kr (윈도우 텍스트 파일) 이고 DB 는 utf-8  일때  mysql 버전에 따라 인서트 안됨

아래 멍령어로 DB insert
mysql –default-character-set=euckr -u 아이디 -p 디비명 < 쿼리파일명
예) mysql –default-character-set=euckr -u test -p testDB < test_query.sql

간혹 mysql 버전에 따라  –default-character-set 옵션이 동작하지 않아 한글이 깨지는 경우가 있습니다.

이때는 다음 처럼 쿼리 파일을 수정합니다.

test_query.sql 파일 상단에 다음 처럼 서버 설정에 맞는 캐릭터셋 추가 후 insert

set names utf8;

set names euckr;

다른 캐릭터셋 명령도 볼까요!

set names utf8

set session character_set_connection=utf8

set session character_set_results=utf8

set session character_set_client=utf8

각 언어에서 character set 지정은 아래 처럼하면 되겠죠! (아래 예는 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 #char #Character #Character set #캐릭터셋 #키릭터 #문자 변환