2012-09-16
mysql에서 charset 관련해서 흔히 실수하는 부분이 있는데, 해당 테이블의 charset을 지정해놓으면 해당 컬럼도 같은 chatset으로 될꺼라는 생각이다.
안타깝게도.. mysql은 해당 데이터베이스, 테이블, 컬럼 별로 전부 charset을 다르게 지정할 수 있고, 덕분에 하나를 바꾼다고 다른것도 같이 바뀌지도 않는다.

우선 아래와 같이 하면, 해당 컬럼의 charset을 바꿀수 있다.

utf-8일때는 utf8 , utf8_general_ci
ALTER TABLE 테이블명 MODIFY COLUMN 컬럼 VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci
euc-kr일때는 euckr , euckr_korean_ci

그리고 위와 같이 하나하나씩 바꾸기가 귀찮다면, 아래와 같이 해주면, 해당 테이블과 컬럼의 charset이 모두다 원하는 charset으로 변경된다.
alter table 테이블명 convert to character set utf8;