MYSQL 에 한글로 된 문자열을 집어넣으려 할 때
INSERT INTO people(name) VALUES ('민수');
아래와 같은 에러 메세지를 받을 때가 있다.
[2018-12-04 20:55:46] [HY000][1366] Incorrect string value: '\xEB\xAD\x90\xEC\x95\xBC' for column 'response' at row 1
String 값에 무엇이 잘못되었는데 Incorrect string value 라는 것일까.
원인 1.
문제는 mysql 의 character-set(인코딩) 설정에 있다. 다음 명령어를 통해 mysql 의 해당 설정을 조회하자.
show variables like 'c%';
아래와 같이 나오는게 정상이다.
만약 설정이 utf8이 아니라 latin1 등 다른 값으로 되어 있다면
설정을 바꿔주어야 한다.
원인2.
위 테이블 처럼 utf8 로 잘 설정되어 있는데도 여전히 같은 문제가 남아 있다면 테이블의 collation 값을 살펴봐야 한다.