본문 바로가기
python/ERROR해결

[MariaDB] 1366, Incorrect string value error 문제 해결

by orangecode 2022. 12. 25.
728x90

 

Maria DB 1366 ERROR
ERROR 1366 (HY000): Incorrect string value: '\xED\x95\x9C\xEA\xB8\x80...' for column 'name' at row 1

 

Maria DB ERROR 1336(HY000) 에러는 MYSQL DB에서 encoding 과정에서 한글이 들어가면서 생기는 오류이다.

 

보통 이모티콘이나 한글이 들어가면 생기는 에러라는 포스팅이 많았다.

 

내가 겪은 ERROR 1366 (HY000): Incorrect string value: '\xED\x95\x9C\... 에러는 encoding error 였다.

 

 

기존 MariaDB Database 생성 코드
CREATE TABLE IF NOT EXISTS company_info (
	code VARCHAR(20),
	company VARCHAR(40),
	last_update DATE,
	PRIMARY KEY(CODE)

)

일반적으로 CREATE TABLE 을 이용해서 company_info라는 table을 생성시켰는다.

 

이렇게 TABLE을 생성해서 python에서 pymysql 라이브러리를 이용해서 불러오게 되면

데이터를 Database에 데이터를 넣는 과정에서 한글이 encoding이 되지않으면서 error가 발생하고 

Database 에 데이터가 제대로 들어가지 않는다.

 

 

한글 encoding error 해결을 위해서는

"DEFAULT CHARSET=utf8;" 구문을 SQL 맨 뒤에 입력해줌으로서 UTF8로 encoding 오류를 바로 잡을 수 있다.

 

수정 MariaDB Database 생성 코드
CREATE TABLE IF NOT EXISTS company_info (
	code VARCHAR(20),
	company VARCHAR(40),
	last_update DATE,
	PRIMARY KEY(CODE)

)DEFAULT CHARSET=utf8;
반응형

댓글