CS/database

MySQL 이모지(Emoji) 문자열 입력

superbono 2021. 5. 18. 23:57

* Emoji?

1997년 일본 휴대폰에서 시작된 이모지는 여러 모바일 운영체제에 추가된 후 2010년대에 전세계적으로 인기를 얻기 시작해, 요즘에도 선풍적인 인기를 끌고 있다. 이모지와 이모티콘은 다른 것이며 이모티콘은 텍스트의 형태이고 이모지는 픽토그램, 인코딩된 문자로 표현될 수 있는 그림이라는 차이점도 있다.

 

* Character Set 바꿔주기

어쨌든 그냥 이모지가 포함된 글을 저장하려고 하면 error가 뜨거나, 이모지 부분이 ?를 뜨는 등 에러가 발생하게 된다. 이 에러가 발생하는 이유는 mysql 세팅이 utf-8로 되어있는 경우에 발생하는데, utf-8은 한 문자를 나타내기 위해서 1바이트에서 4바이트까지 사용한다. 그런데 MySQL의 경우 utf-8을 3바이트 가변 인자로 구현하고 있다. 따라서 MySQL 환경 파일에서 utf8mb4로 수정을 해주면 된다. 

 

1. mysql을 설치한 위치의 MySQL Server폴더로 가서 my.ini 파일을 연다.

2. my.ini 파일에

collation-server=utf8mb4_unicode_ci
character-set-server=utf8mb4
skip-character-set-client-handshake

를 추가해준다. 

3. MySQL 워크벤치에 가서 캐릭터셋을 바꿔줄 데이터베이스를 선택한 뒤, 


ALTER DATABASE homestead CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

를 입력한다. 

 

그 뒤 MySQL 워크벤치를 재시작해준다. 

 

출처 - https://stackoverflow.com/questions/39463134/how-to-store-emoji-character-in-mysql-database

 

 

'CS > database' 카테고리의 다른 글

MySQL SYSDATE(), now()의 차이점  (0) 2022.03.20
CHAR VS VARCHAR  (0) 2021.07.20
Subquery  (0) 2021.04.07
Join  (0) 2021.04.06
JDBC Programming 개발 순서  (0) 2021.03.12