loose
이로운 개발하기
loose
전체 방문자
오늘
어제
  • 전체 (204)
    • ☕ Java (24)
    • 📘 Effective Java (9)
    • 🍃 Spring (47)
    • 📖 ORM (9)
    • ☸️ Kubernetes (13)
    • 🐧 Linux (5)
    • 🐋 Docker (5)
    • 🛠️ CI & CD (7)
    • 🕸️ Web (6)
    • 🔗 Distributed System (3)
    • 📜 Js (10)
    • 📈 Database (11)
    • 🗂️ Etc (34)
    • 🧑 Chitchat (11)
    • 📒 문학 (9)
    • 👜 개인 공부 창고 (1)

공지사항

반응형

최근 글

최근 댓글

loose
🗂️ Etc

이모지(Emoji) 단축키 및 MySQL과 Javascript에서 사용하기

🗂️ Etc

이모지(Emoji) 단축키 및 MySQL과 Javascript에서 사용하기

2022. 12. 17. 17:33
반응형

이모지 사용법

 

키보드에서 아래 키를 누르면 이모지를 입력할 수 있다.

Window + . 

🍕🍔🍟🌭🍿🧂🥓🥚🍳🧇🥞🧈🍞🥐🥨🥯🥖

 

하지만 이러한 값들을 mysql 환경에서 삽입하려고 하면 

could not execute statement라는 에러와 함께 올바르게 들어가지 않는다.

왜냐면 mysql에서는 초기 UTF-8 자료형을 3바이트 가변 자료형으로 설계하였기 때문에 제대로 삽입이 안된다.

일반적인 모든 언어들은 3 Byte 이하로 이루어져있기 때문이다. 하지만 이모지는 4 Byte로 이루어져있다.

 

그래서 UTF-8을 UTF8MB4 타입으로 바꿔줘야한다.

아래 방법중에 테이블 변경으로만으로도 해결이 되었다.

(물론 테이블 전체를 4 Byte로 바꾼 것이기 때문에 설계적으로 좋지 않을 수 있겠다)

 

데이터베이스에서 다루는 법

 

데이터베이스 변경

ALTER DATABASE [데이터베이스명] CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

테이블 변경

ALTER TABLE [테이블명] CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

컬럼 변경

ALTER TABLE [테이블명] CHANGE [컬럼명] [컬럼명] VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

자바스크립트에서 다루는 법

 

아래와 같이 Javascript 명령문을 이용해 이모지의 글자 길이를 알고 싶을 수 있다.

"🥯🥖".length

하지만 내가 원하는 값은 2글자이므로 결과는 2가 나오길 원하지만 4가 나온다.

아래와 같이 배열 방식으로 접근하면 올바르게 결과를 볼 수 있다.

[..."🥯🥖"].length
728x90

'🗂️ Etc' 카테고리의 다른 글

안드로이드 웹뷰 카카오 공유하기 기능 멈춤 현상  (0) 2023.01.08
웹 개발자를 위한 안드로이드 웹뷰 만들기  (2) 2023.01.05
Hosts 파일 경로, 형식, 원리  (0) 2022.12.14
Netty 아키텍처 기초 소개 및 사용법  (0) 2022.12.01
CSRF(Cross Site Request Forgery) 공격, 사례, 방어 방법  (0) 2022.10.10
  • 이모지 사용법
  • 데이터베이스에서 다루는 법
  • 데이터베이스 변경
  • 테이블 변경
  • 컬럼 변경
  • 자바스크립트에서 다루는 법
'🗂️ Etc' 카테고리의 다른 글
  • 안드로이드 웹뷰 카카오 공유하기 기능 멈춤 현상
  • 웹 개발자를 위한 안드로이드 웹뷰 만들기
  • Hosts 파일 경로, 형식, 원리
  • Netty 아키텍처 기초 소개 및 사용법
loose
loose
불만하는 사람은 90명, 해결하는 사람은 9명, 리드하는 사람은 1명
음악과 낭만을 좋아합니다.
hELLO. 티스토리 스킨을 소개합니다.
제일 위로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.