이 글은 주로 mysql 쿼리 문자 집합 불일치 문제에 대한 해결책을 소개합니다. 이 글은 이 문제를 겪는 친구들을 위한 확실한 참고 자료와 학습 가치가 있습니다. 친구 여러분, 편집자를 따라와 함께 배워보세요.
문제 발견
최근 직장에서 MySQL 데이터베이스가 테이블을 생성할 때 라틴 문자 집합을 사용했는데, 웹 페이지의 쿼리가 중국어를 입력할 때 utf-8이었습니다. 입력 페이지에서 데이터베이스에 쿼리하면 ER_CANT_AGGREGATE_2COLLATIONS: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
오류가 발생하므로 스택오버 흐름에서 이 데이터베이스와 데이터 테이블의 문자 집합을 변경하는 방법을 찾았습니다.
SET collation_connection = 'utf8_general_ci'
참고: 다음 두 문장을 데이터베이스 이름과 데이터 테이블 이름으로 바꾸세요
ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_general_ci ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci
이렇게 하면 데이터베이스도 utf-8 문자 집합임을 보장합니다. 중국어로 입력할 때 데이터베이스의 내용을 쿼리하는 중 오류가 발생합니다.
참조: 잘못된 데이터 정렬 혼합 MySQL 오류
PHP에서 데이터베이스의 문자 집합을 utf-8로 설정
mysqli_set_charset($dbc,'utf8');
html에서 utf-8을 표시하는 메타만 추가하세요
<meta charset="utf-8">
요약
위 내용은 MySQL의 쿼리 문자 집합 불일치 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!