2011-09-01 3 views
2

특수 문자를 저장하는 데 문제가 있으면 latin1_swedish_ci에서 utf8_unicode_ci 데이터 정렬로 데이터베이스를 변환했습니다. 데이터베이스, 테이블 및 컬럼의 문자 세트를 utf8로, 데이터 정렬을 utf8_unicode_ci로 설정했습니다.MyISAM utf-8 인코딩 문제

오직 InnoDB 테이블 만 utf-8 데이터를 올바르게 저장하며, MyISAM 테이블은 올바르게 저장하지 않습니다. 예를 들면 ü가된다.

무슨 일 할 수 있을까? 내가 놓친 게 있니?

당신이 프레임 워크를 사용하는 경우에는 MySQL 버전 5.0.77

+0

"SHOW CREATE TABLE the_myisam_table"은 무엇을 보여줍니까? – arnaud576875

+0

가능한 모든 열은 utf8_unicode_ci이고, 테이블의 기본 charset은 utf8이며, 조합 utf8_unicode_ci – Jesse

+0

UTF8 charset을 사용하는 연결입니까? 그렇지 않은 경우 문제가됩니다. 그렇다면 전환이 잘못되어 테이블의 데이터가 latin1에서 utf8로 두 번 변환되었습니다. – arnaud576875

답변

0

데이터베이스에 대한 연결이 적절한 인코딩을 사용하고 있는지 확인해야합니다 (의가 레일을 가정 해 봅시다). Rails에서는 database.yml 파일의 인수로 정의됩니다. encoding: utf8