테이블, 컬럼 charset 변경

by 조쉬 posted Mar 26, 2021
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

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;