유니 코드 표준의 문자 매핑에 관계없이 0x1235 아래의 0x1234의 UTF-8 인코딩을 주문하는 데이터 정렬이 필요합니다. MySQL은 utf8_bin을 사용합니다. MSSQL 분명히 http://msdn.microsoft.com/en-us/library/ms143350.aspx에는 BIN과 BIN2 데이터 정렬이 있습니다. PostgreSQL은 이러한 특정 질문에 대한 대답을 훨씬 덜 지원합니다.PostgreSQL UTF-8 바이너리 조합
답변
C 로켈이 수행합니다. UTF-8은 바이트 순서가 코드 포인트 정렬이기도하도록 설계되었습니다. 이것은 사소한 것이 아니라 UTF-8의 작동 방식을 고려해야합니다
Number range Byte 1 Byte 2 Byte 3 0000-007F 0xxxxxxx 0080-07FF 110xxxxx 10xxxxxx 0800-FFFF 1110xxxx 10xxxxxx 10xxxxxx
일명 C 로케일 이진 데이터 정렬, 최초의 비 동일 바이트 orering을 etermine 것입니다. UTF-8로 인코딩 된 두 개의 숫자가 다른 경우 첫 번째 비 동일 바이트가 더 낮은 값에 대해 더 낮을 것입니다. 숫자가 다른 범위에 있으면 첫 번째 바이트는 실제로 더 낮은 숫자에 대해 더 낮습니다. 동일한 범위 내에서, 순서는 문자 그대로 부호화하지 않는 것과 동일한 비트로 결정됩니다.
Postgres는 클러스터 생성시 시스템 로캘에 정의 된 데이터 정렬을 사용합니다.
당신은 인코딩에 의해 (열, '진수') 텍스트의
정렬 순서 lc_collate
에 따라 주문하는 것을 시도 수 (하지 시스템 로케일을!). 시스템 로켈은 다른 로켈을 제공하지 않을 경우 db 클러스터를 만들 때 기본값으로 만 사용됩니다.
예상되는 동작은 로캘 C
에서만 작동합니다. 모든 in the fine manual 그것에 대해 읽기 :
C 및 POSIX 정렬을 모두에만 ASCII 문자 "A" "Z"를 통해 에서 "전통적인 C"동작을 지정하는 문자, 및 정렬이 완료로 간주됩니다 엄격하게 문자 코드 바이트 값.
강조 광산. PostgreSQL 9.1에는 두 개의 new features for collation가 있습니다. 정확히 당신이 찾고있는 것일 수 있습니다.
어떻게 코드 포인트 정렬 대신 알파벳 정렬을 수행합니까? 알다시피, 그것은 Unicode Collation Algorithm을 사용합니다. 그렇지 않으면 유니 코드 텍스트에서 알파벳순 정렬을 얻지 못합니다. – tchrist
@tchrist : 일반적으로 로케일로'lc_collate'가 설정되어 있습니다. 예 : 영국에서는'lc_collate'를'en_EN.utf8'로 설정했을 것입니다. 당신의 설정을 보려면'show lc_collate;'를 시도하십시오. 자세한 내용은 내 대답의 링크를 따르십시오. –
- 1. PostgreSQL utf8 문자 비교
- 2. 반복하지 않고 PostgreSQL 조합
- 3. NSString의 UTF8 바이너리 값을 얻는 방법
- 4. PostgreSQL + PHP + UTF8 = 인코딩을위한 바이트 시퀀스가 올바르지 않습니다.
- 5. UTF8
- 6. UTF8
- 7. 루비 : 직렬화의 UTF8 문제가
- 8. 조합
- 9. 조합
- 10. 조합
- 11. PL/Python PostgreSQL 루틴에서 바이너리 문자열 (bytea)을 반환하려면 어떻게해야합니까?
- 12. 조합 세로 및 가로 조합
- 13. 어떻게 .. UTF8
- 14. UTF8 인코딩?
- 15. UTF8 작업
- 16. UTF8 - 빈
- 17. UTF8 변환
- 18. json_encode utf8
- 19. 하스켈 바이너리 div 바이너리
- 20. MySQL에서 utf8 깨진 문자 감지하기
- 21. PostgreSQL
- 22. Cmd javascript를 사용하여 키 조합 조합 입력
- 23. 단일 집합에서 조합 조합 조합을 나열하는 방법
- 24. 자바 스크립트 키 조합 조합 감지
- 25. 증분 조합?
- 26. 문자열 조합
- 27. 자물쇠 조합
- 28. : 조합 동안의과를
- 29. 정수 조합
- 30. 쌍으로 조합
그것은 코드 포인트 정렬이며 유니 코드에서는 쓸모가 없습니다. Unicode Collation Algorithm에서 Unicode에 필요한 정렬 알고리즘을 사용하여 어떻게 알맞은 알파벳 정렬을 수행합니까? – tchrist
@tchrist : 그건 질문이 아닙니다. –