정확히은 postgres의 utf8
문자 집합 내에 저장된 모든 언어를 원활하게 지원하기위한 언어입니다. en_US.utf8
과 같이 문자 집합과 함께 언어 별 데이터 정렬을 지정해야합니다. 실수가 아니라면 을 의미있는 데이터 정렬 동작으로 유지하면서 영어 (en_US
)와 중국어 (zh_CN
)를 동일한 utf8
열에 저장할 수있는 능력이 없습니다. 열을 en_US.utf8
으로 정의하면 중국어 (zh_CN
) 문자/바이트 시퀀스가 포함 된 값을 처리하는 것이 어떻게됩니까? 실제로 단일 열 값은 여러 언어 (예 : "안녕하세요 및 晚安")를 포함 할 수 있으며 단순히 단일 언어에 따라 조합 할 수 없습니다.postgresql에서 utf8을 사용하는 여러 언어
예, 실제로 모든 문자 시퀀스를 저장할 수 있습니다. 그러나 영어, 독일어, 중국어, 일본어 및 한국어 문자열이 포함 된 en_US.utf8
열에서 주문에 대해 정의 된 동작은 무엇입니까?
나는 mysql의 utf8mb4_unicode_ci
데이터 정렬이 완벽하지 않으며 전체 유니 코드 집합을 대조하는 방법에 대해 설정된 표준을 따르지 않는다는 것을 알고 있습니다. 이미 mysql의 언어 독립적 인 데이터 정렬이 임의적이거나, 의미 상 무의미하거나, 심지어는 무효화되는 것에 대해 한숨 돌리는 반 (反) mysql 군중을들을 수 있습니다. 그러나 실제로는 이 충분히 작동하며이며 utf8
= 다중 언어 유니 코드 지원이라는 기대를 충족합니다.
postgres는 의미 상으로는 이라는 매우 완고한 사람입니까? 유니 코드 스펙트럼에서 대조가 잘못 되었습니까? 나는 개발자가 "사양에 따라 작업을 수행"할 때 매우 엄격하다는 것을 알고 있지만, 여러 언어를 저글링 할 수없는이 무능력은 적어도 말하기는 실망 스럽다. 다중 언어 문제를 해결하는 무언가가 누락 되었습니까? 또는 단일 utf8
열이 모든 언어를 처리 할 수 있지만 공식 언어는 한 번에 하나의 언어 만 처리 할 수있는 공식입니다.
"*하지만 영어, 독일어, 중국어, 일본어 및 한국어 문자열 *이 포함 된 열에서 순서가 정의 된 동작은 무엇입니까?"- 단순히 넣을 수 없습니다. 안타깝게도 데이터 정렬 지원은 Postgres의 가장 강력한 영역이 아니며 'ORDER BY'연산자는 정렬을위한 데이터 정렬을 지정할 수 없으며 단일 언어 만 선택하는 경우 이동 방법이 될 수 있습니다. _content_를 여러 언어로 쉽게 처리 할 수 있지만 정렬을 처리 할 수 없습니다. –
당신은 언제나'collate = "C"'- UTF8에서 얼마나 잘 작동하는지 알 수는 있지만 –