Как базы данных сортируют китайские иероглифы? - PullRequest
3 голосов
/ 26 сентября 2011

В настоящее время я пишу веб-приложение, и мне нужно будет упорядочить набор китайских иероглифов, и я хочу знать, сортируются ли китайские иероглифы по базам данных, и если да, то как они сортируются?

Для справки я буду использовать PostgreSQL.

Ответы [ 2 ]

1 голос
/ 26 сентября 2011

PostgreSQL сортирует текст, используя языковой стандарт операционной системы.Это точно такое же поведение, какое дают инструменты операционной системы, такие как sort.Поэтому при инициализации системы базы данных установите для своей локали что-то полезное, например zh_HK.utf8.

Если вам не нравятся результаты такого рода, вам придется воспользоваться специальным решением.

0 голосов
/ 26 сентября 2011

Самый простой и наиболее распространенный способ их сортировки - это просто двоичные данные, либо кодовые точки Unicode, или даже более простые, как необработанные двоичные данные (что хорошо работает для данных ASCII). К сожалению, это не делает для очень значимого порядка сортировки. Тем не менее, он объединяет все вместе, поэтому такие запросы, как префиксные запросы, должны работать.

Для значимого порядка сортировки не существует хорошего алгоритмического решения. Вам нужно будет работать с поисковыми таблицами (см., Например, этот поток о сопоставлении китайского и пиньинь, по которому вы затем сможете отсортировать).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...