Mysql에서Illegal mix of collations 에러가 날때
페이지 정보
작성자 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 조회 568회 작성일 23-06-30 18:47본문
1. 접속할 때 collation을 통일시키는 방법
$query = 'set session character_set_connection=utf8;';
mysql_query($query);
$query = 'set session character_set_client=utf8;';
mysql_query($query);
$query = 'set session character_set_results=utf8;';
mysql_query($query); $query = 'set collation_connection=utf8_general_ci;'; mysql_query($query);
즉 처음에 DB접속할 때 맞춰주는 것....
mysql 프롬프트 상에서는...
set session character_set_connection=utf8;
set session character_set_client=utf8;
set session character_set_results=utf8;
set collation_connection=utf8_general_ci;
2. 테이블을 변경시키는 방법
ALTER TABLE tbl_A DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
tbl_A의 기본 셋팅을 맞춰주는 것... 만일 필드를 수정해야 한다면 해당 필드의 collation을 변경해주면 됨
3. 비교하는 변수의 collation을 변경시키는 방법
SELECT * FROM tbl_A [utf8_general_ci] WHERE field_A = var_B [utf8_unicode_ci]?
를 돌려야 하는 상황이라고 가정하면...
var_B의 collation을 변경시켜서 utf8_general_ci 로 바꿔주면 된다.
SELECT * FROM tbl_A (utf8_general_ci) WHERE field_A = var_B COLLATE utf8_general_ci ;
댓글목록
등록된 댓글이 없습니다.