>  기사  >  데이터 베이스  >  MySQL의 쿼리 문자 집합 불일치 문제 해결

MySQL의 쿼리 문자 집합 불일치 문제 해결

黄舟
黄舟원래의
2017-08-09 14:18:201657검색

이 글은 주로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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