# MySQL 데이터베이스에 이모티콘 입력 방법
기본 MySQL 세팅 상태에서 이모티콘 입력시, 아래와 같은 에러가 발생한다.
Error: Incorrect string value: '\xF0\x9F\x9B\xA9\xF0\x9F...' for column 'title' at row 1
code: 'ER_TRUNCATED_WRONG_VALUE_FOR_FIELD',
errno: 1366,
sqlState: 'HY000',
sqlMessage: "Incorrect string value: '\\xF0\\x9F\\x9B\\xA9\\xF0\\x9F...' for column 'title' at row 1"
데이터베이스, 테이블의 Character Set 을 아래와 같이 변경해주면된다.
1. 데이터베이스 문자셋 변경
ALTER DATABASE 데이터베이스명 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
2. 테이블 문자셋 변경
ALTER TABLE 테이블명 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
애초에 데이터베이스와 테이블 생성 시, 문자셋을 설정해도 된다.
# 데이터베이스 생성
CREATE DATABASE 데이터베이스명 DEFAULT CHARSET = utf8mb4 DEFAULT COLLATE = utf8mb4_unicode_ci;
# 테이블 생성
CREATE TABLE 테이블명 (
...
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci;
맥 OS 및 AWS EC2에 설치한 MySQL 서버 환경에선 위의 작업만 해주어도,
이모티콘이 정상적으로 등록되었다.
'개발(Development) > DB(데이터베이스)' 카테고리의 다른 글
mysql 접속 관련 오류 해결: Error: Access denied for user 'root'@'localhost', ER_NOT_SUPPORTED_AUTH_MODE (0) | 2021.10.18 |
---|---|
[MySQL] 테이블 필드의 공백, 개행문자, 캐리지리턴 등 제거(하이픈 제거 포함) (0) | 2016.02.01 |
댓글