본문 바로가기

~하는 법

유니코드를 제대로 쓰고싶다면 DB 문자세트를 'utf8mb4'로!




MySQL을 사용하는 웹사이트 중에 DB 문자세트가 'utf8'로 지정된 경우, 유니코드 확장B 이상의 한자는 입력이 안되는 문제가 있소. 입력만 안되는 것이 아니라, 해당 문자 이후의 내용이 아예 사라져버리는 심각한 문제라오.

(티스토리도 확장B 한자를 지원하지 않는지, 애써 작성한 포스트를 날려먹은 바 있소.)


DB 문자세트(데이터정렬방식)를 위 그림과 같이 'utf8mb4'로 지정해야만 유니코드의 모든(1~4바이트) 문자를 쓸 수 있다고 하니, 혹시 확장한자 입력 문제를 겪는 햏자들은 DB의 문자세트 설정을 확인해보기 바라오(일부 구버전에서는 지원하지 않음).


아울러, PHP 파일 등에 mysql_query("set names utf8"); 이런 대목이 있는 경우도 이를 mysql_query("set names utf8mb4"); 이렇게 같이 바꾸어 주어야 하오.