관리 메뉴

나만을 위한 블로그

[PHP] General error: 1366 Incorrect string value: '\xEC\xA0\x95\xEC\x9D\xB8...' for column... 에러 해결 본문

PHP

[PHP] General error: 1366 Incorrect string value: '\xEC\xA0\x95\xEC\x9D\xB8...' for column... 에러 해결

참깨빵위에참깨빵_ 2020. 3. 7. 10:55
728x90
반응형

참고한 사이트 : https://postitforhooney.tistory.com/entry/DBMariaDBMysql-Mysql-%EC%96%B8%EC%96%B4%EC%84%A4%EC%A0%95%EC%9C%BC%EB%A1%9C-%EC%9D%B8%ED%95%9C-%EB%AC%B8%EC%A0%9C-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%ED%95%B4%EA%B2%B0

 

[DB/MariaDB/Mysql] Mysql 언어설정으로 인한 문제, 그리고 해결

# [DB/MariaDB/Mysql] Mysql 언어설정으로 인한 문제, 그리고 해결 1. 오류 사항 1) mysql insert query 실행시 오류 메시지 mysql> ERROR 1366 (HY000) : incorrect string value : ''\xED\x95\x9C\xEC\x9A\xB0....

postitforhooney.tistory.com

해당 에러는 MySQL 언어 설정이 utf8로 되어 있지 않아서 생긴 문제다.

해결법은 내가 쓰려는 MySQL 테이블의 언어 설정을 utf8로 바꾸면 된다.

 

난 AWS를 쓰기 때문에 /etc/mysql/mysql.conf.d에 mysqld.cnf가 있어서 이곳으로 들어가 작업했다.

 

 

내가 추가한 것이라는 주석 밑의 두 줄을 추가했다.

그리고 하이디 SQL을 통해 DB로 들어가서 쿼리 탭에 이 쿼리를 날렸다.

 

ALTER TABLE 테이블명 CONVERT TO CHARSET utf8;

 

난 여기서 바로 예제를 돌려 에러가 해결된 걸 확인했지만 MySQL을 재시작하고 싶다면 재시작해도 된다.

난 AWS라 그런지 아래 문장을 입력해야 MySQL이 재시작됐다.

 

# service mysql restart

 

이 다음 바로 DB에 데이터를 집어넣는 예제를 따라 insert.php에서 웹 페이지를 통해 DB에 값을 집어넣는 코드를 돌려봤더니 정상적으로 들어가는 걸 확인했다.

반응형
Comments