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 값을 살펴봐야 한다.




+ Recent posts