MySQL 한글 Insert Error) Error 1366, DB에 한글 적용하기 (한글 입력 안 될 때)

반응형

 

Error

  • 테이블 확인

 

  • 한글로 이루어진 데이터 DB에 저장
  • 오류 발생
ERROR 1366 (HY000):
Incorrect string value:
'~~~' for column '~~~' at row 1

쉽게 말해서, 한글이 깨짐.

이는 데이터베이스 자체에서 한글을 지원하지 않는다는 의미로 해석할 수 있음


해결 방법 - 특정 테이블 컬럼에 한글 지원

  • 특정 테이블 컬럼에 한글 적용하기
  • 문자열을 지원하는 컬럼에 인코딩 형식을 변경하여 한글을 지원하도록 함

 

테이블 컬럼 내용 확인하기

SHOW COLUMNS FROM tablename;

-- 예시
-- SHOW COLUMNS FROM memo;

 

각 컬럼의 문자 인코딩 변경하기

ALTER TABLE tablename MODIFY columns datatype CHARACTER SET utf8;

-- 예시 : 메모 테이블의 메모 제목 utf8 인코딩 적용하기
-- ALTER TABLE memo MODIFY memoTitle varchar(45) CHARACTER SET utf8;

 

한글 데이터 추가하기 & 확인

  • 위에 입력한 insert문을 재입력

 

문제없이 한글로 된 데이터가 잘 추가된 것을 확인할 수 있다.

 

반응형