dev

mysql 에 이모지 emoji 사용하기 utf8mb4

지렁이의야망 2017. 3. 20. 11:45

mysql 이 예전에는 utf8 을 3byte 로 설계했는데,
emoji 가 4byte 를 사용하기 때문에 기존의 utf8 로는 emoji 를 담을 수가 없다.


테이블 charset 을 utf8mb4 로 설정해주면 emoji 를 저장할 수 있다. (mysql 5.5.3 에 추가됨)
그렇다면 utf8mb4 를 안 쓸 이유가 있겠냐! 싶긴한데,
문서에 보면 이런 내용이 있다.


Performance of 4-byte UTF-8 (utf8mb4) is slower than for 3-byte UTF-8 (utf8). To avoid this penalty, continue to use utf8.


4byte UTF8 즉 utf8mb4 는 기존 utf8 보다 느리기 때문에 utf8 을 써라~ 라고.
emoji 를 사용할 일이 있는 테이블에 한해서만 사용하는게 좋을 것 같다.


참고
https://blog.lael.be/post/917 [MySQL/MariaDB] utf8mb4 언어셋 소개 및 표현범위.
https://dev.mysql.com/doc/refman/5.5/en/charset-unicode-conversion.html
http://dba.stackexchange.com/questions/8239/how-to-easily-convert-utf8-tables-to-utf8mb4-in-mysql-5-5