How We Coding

DataBase Schema 에서 default collation 을 utf8 - default collation 에서 utf8mb4 - utf8mb4_unicode_ci 로 변경


테이블의 특정 칼럼의 collation 을 Table default 에서 utf8mb4 - utf8mb4_unicode_ci 로 변경


NodeJs - sql connection options 에 charset : 'utf8mb4' 추가


포스트맨에서는 정상적으로 보임.



utf8 인코딩은 3바이트까지 지원하는데 이모티콘은 4바이트를 차지하기 때문에 문제가 발생한다고 한다. 

이를 해결하기 위해 MYSQL 5.5.3 부터 4바이트를 지원하는 utf8mb4라는 캐릭터 셋이 추가되었다.

그러므로 이모티콘을 지원하기 위해서는 테이블의 캐릭터 셋을 utf8에서 utf8mb4로 변경하면 된다.



Reference


https://hackernoon.com/today-i-learned-storing-emoji-to-mysql-with-golang-204a093454b7


https://stackoverflow.com/questions/46764071/node-js-mysql-some-string-encodings-emoji-are-throwing-errors-when-i-try-to-i?rq=1


https://bluesh55.github.io/2016/10/11/mysql-emoji/

'JS > Node.js' 카테고리의 다른 글

[Lambda] node-gyp  (0) 2019.05.16
[정리] 아하 REST API 서버 개발 #3  (0) 2019.03.31
[정리] 아하 REST API 서버 개발 #1, #2  (0) 2019.03.31