MySQL에서 이모티콘(Emoji)를 저장하려고 하면 Incorrect string value 에러 메세지가 발생하게 됩니다.


MySQL의 utf8은 3byte로 표현되는 범위내의 문자만 입력할 수 있습니다.


하지만 이모티콘(Emoji)는 4byte로 표현되기 때문에 위와같은 에러가 발생합니다.


MySQL 5.5.3부터 4byte를 지원하는 utf8mb4라는 캐릭터셋이 추가되었습니다. 


따라서 이모티콘을 삽입하기 위해서는 테이블의 캐릭터셋을 uft8mb4로 변경해야 합니다.


여러가지 방법이 있지만 저는 mysql 설정파일 my.cnf파일을 수정했습니다.


MySQL 5.5.3이상에서만 가능하기 때문에 이전 버전이라면 업데이트를 해줘야 합니다.



1. /etc/my.cnf에 내용을 추가해줍니다.


[mysqld] 

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci



2. MySQL 서비스를 재시작해줍니다.


servicce mysqld restart





출처 : http://jabstorage.tistory.com/23

+ Recent posts