>  기사  >  데이터 베이스  >  MySQL 쿼리 문자 집합 불일치 문제에 대한 자세한 설명

MySQL 쿼리 문자 집합 불일치 문제에 대한 자세한 설명

小云云
小云云원래의
2017-12-22 14:42:461815검색

이 글은 주로 mysql 쿼리 문자 집합 불일치 문제에 대한 해결책을 소개합니다. 이 글은 이 문제를 겪는 친구들을 위한 확실한 참고 자료이자 학습 가치가 있습니다. it 편집자를 따라가면서 함께 배워봅시다. 모두에게 도움이 되기를 바랍니다.

때때로 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 MySQL 연결 문자 집합 설정 방법

MySQL 문자 집합 및 교정 순서 사용법 튜토리얼

위 내용은 MySQL 쿼리 문자 집합 불일치 문제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.