본문 바로가기
MySql

MySQL utf8 및 utf8_general_ci

by 베이스 공부 2021. 2. 10.
반응형

내 DB에 행을 삽입하는 데 문제가 있습니다. 행에 'è', 'ò', 'ò', '€', '²', '³'.... 등의 문자가 포함되어 있으면 다음과 같은 오류가 반환됩니다 (문자 세트가 utf8 ) :

Incorrect string value: '\xE8 pass...' for column 'descrizione' at row 1 - INSERT INTO materiali.listino (codice,costruttore,descrizione,famiglia) VALUES ('E 251-230','Abb','Relè passo passo','Relè');

그러나 문자 집합을 latin1 또는 * utf8_general_ci *로 설정하면 제대로 작동하고 오류가 발견되지 않습니다.

누군가 왜 이런 일이 발생하는지 설명해 줄 수 있습니까? 저는 항상 utf8 latin1 보다 "더 크다"고 생각했습니다.

편집 : 나는 또한 mysql_real_escape_string을 사용하려고 시도했지만 오류는 항상 동일했습니다 !!!!

 

해결 방법

 



완전히 안전하려면 테이블 데이터 정렬 을 확인하고 utf8 _ * 인지 확인하고 SET NAMES

SET NAMES 'utf8' COLLATE 'utf8_general_ci'


 

참조 페이지 https://stackoverflow.com/questions/10597153

 

 

반응형

댓글