mysql EROOR 1366 (한글입력 오류)

해달·2021년 11월 19일
0

mysql 에러

배포단계에서 테스트를 진행하던 중 EC2에 수기로 데이터를 추가하려고 하였는데 에러가 발생되어서 확인하여 보니 mysql의 기본언어가latin1로 설정이 되어서 한글이 인식이 되지 않았다.


  • EROOR 1366
INSERT INTO slow_postbox.mails
    -> (id, writerEmail, receiverEmail, reserved_at, title, content, isChecked, isRead, created_at, updated_at)
    -> VALUES(1, 'test@gmail.com', 'test2@gmail.com', '2021-12-31', '메일 제목', '<p>메일 내용</p>', 0, 0, '2021-11-09 10:25:02', '2021-11-09 10:25:02');
    
ERROR 1366 (HY000): Incorrect string value: '\xEB\xA9\x94\xEC\x9D\xBC...' for column 'title' at row 1

mysql> INSERT INTO slow_postbox.mails
    -> (id, writerEmail, receiverEmail, reserved_at, title, content, isChecked, isRead, created_at, updated_at)
    -> VALUES(1, 'test@gmail.com', 'test2@gmail.com', '2021-12-31', '', '<p></p>', 0, 0, '2021-11-09 10:25:02', '2021-11-09 10:25:02');

Query OK, 1 row affected (0.01 sec)

찾아보니 환경설정에서 UTF-8 설정이 되어있지 않아서
한글이 인식되지 않아서 레코드 삽입이 되지 않고 있었다.

해결방법 (링크)
1. 로컬환경에서 mysql 접속 후 전체설정 바꿔주기
2. 테이블 생성하면서 설정 값 주기
3. (이미 만들어놓은)테이블 하나하나 설정 값 바꿔주기 (✓)


테이블이 두개여서 아래 방법으로 설정을 바꿔주었다

alter table users convert to charset uft8;

아래 사진과 같이 적용이 잘 되었다

0개의 댓글

관련 채용 정보