2012-03-22 1 views
16

데이터베이스 테이블을 검사하여 latin1_swedish_ci에 있음을 확인한 후 utf8_general_ci으로 변경했습니다. 모든 필드에 대해 latin1_swedish_ci에서 utf8_general_ci까지 데이터 정렬MySQL 저장 프로 시저에서 '='조작에 대한 데이터 정렬 (utf8_general_ci, IMPLICIT) 및 (utf8_unicode_ci, IMPLICIT)이 부적절하게 혼합되어 있음

여전히 동일한 오류가 발생합니다.

불법 정렬의 믹스 (utf8_general_ci, IMPLICIT) 및 운영 (utf8_unicode_ci, IMPLICIT) '='

감사합니다,

+6

체크 again..there 어딘가에 당신은 utf8_unicode_ci''에 utf8_general_ci' .. – MKJParekh

+0

덕분에 발견 한 필드 '로 변경 놓친와'utf8_general_ci'로 변환하고 지금은 잘 작동하고 있습니다 .. – Nikhil

+1

나는 그것을 알았다. 당신은 하나의 필드를 잃어 버렸음에 틀림 없다. 항상 ... .congo..cheers – MKJParekh

답변

27

그래서 대답은 간단하다. MKJ ^^에서 말한대로 변경을 놓친 것 같지만 테이블을 변경하는 실제 구문은 다음과 같습니다.

alter table `dbname`.`tablename` convert to character set utf8 collate utf8_general_ci; 

응용이 같은

+0

이것은 정확했다, thanks –

+0

당신은 그것을 말해야한다! –

+0

감사합니다. –

1
COLLATE utf8_unicode_ci 

쿼리 끝에 추가하는 것과 동일한 캐릭터 세트에 다시 모든 관련 테이블을 연관시킬 수 있어야한다 개별 스크립트로 또는 CREATE TABLE 문의 끝에 ;

SELECT * FROM table COLLATE utf8_unicode_ci; 
관련 문제