에 UTF8에서 정렬 저는 현재 다음과 같은 설정으로 MySQL 데이터베이스를 가지고 :MySQL의 데이터베이스 변경 + 테이블은 캐릭터 및 UTF8mb4
character_set_client: utf8
character_set_connection: utf8
character_set_database: utf8
character_set_filesystem: binary
character_set_results: utf8
character_set_server: latin1
character_set_system: utf8
collation_connection: utf8_general_ci
collation_database: utf8_general_ci
collation_server: latin1_swedish_ci
나는 데이터베이스에 이모티콘의과 (중국어 등) 다른 언어를 지원합니다. 현재 작동하지 않는 문자는 ?
으로 자동 변환됩니다.
charset
& collation
utf8mb4(_general_ci)
으로 테스트 데이터베이스를 만들고 같은 설정을 가진 테이블을 만들었습니다. Emojis가 여기서 일합니다. 그러나 데이터베이스 설정을 utf8(_general_ci)
으로 변경하고 테이블을 utf8mb4(_general_ci)
으로 남겨두면 이모티콘은 여전히 작동하지만 내 메인 데이터베이스에서는 그렇지 않습니다.
기본 데이터베이스 설정을 charset
+ collation
utf8mb4(_general_ci)
으로 변경하면 테이블도 같이 작동합니까?
데이터베이스 액세스의 경우 character_set_connection
또는 collation_connection
과 같이 다른 사항을 변경해야합니까? 내 JavaScript 서버에서 연결이 utf8
으로 구성되어 있음을 알고 있습니다.이 메시지는 utf8mb4
으로 가정합니다.
모든 현재 utf8(_general_ci)
데이터는 utf8mb4(_general_ci)
으로 변경할 때 그대로 유지됩니까?
감사 :
하나의 열을 변환합니다. 이것이 내가 필요한 것입니다. 그럼 또 다른 일이 있습니다. 데이터베이스는 2 개의 개별 서버에서 실행되며'master-master replication'을 사용하여 동기화됩니다. 칼럼 설정이 테이블 셋팅이 아니라 둘 모두에서 변경되는 것을 보았습니다. 두 데이터베이스 모두에서이 작업을 수행 할 수 있습니까? 감사! – JeroenJK
@JeroenJK - 서버가 동일하지 않은 것이 이상하게 보입니다. 정확히 어떤 명령을 수행 했습니까? _may_는 나중에 각 문자셋에 _different_'DEFAULT '를 주면 charset/collation을 지정하지 않고 열을 추가 할 때 발생합니다. –