LINUX.ORG.RU
решено ФорумAdmin

Неправильная сортировка кириллицы в sort

 , ,


0

0

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

Это баг в sort(или в libc?)?

sort (GNU coreutils) 8.32, дистрибутив Арч

yegor@huawei /tmp cat a
12:15:51
а
еф
ёа
я
12:15:51 charge: 100%                                                                                                         
yegor@huawei /tmp LC_COLLATE=ru_RU.UTF-8 sort a
12:16:08
а
ёа
еф
я
12:16:08 charge: 100%                                                                                                         
yegor@huawei /tmp file a
12:16:12
a: Unicode text, UTF-8 text
12:16:12 charge: 100%                                                                                                         

Это не баг
В utf8 ё может быть представлена как
0415 0308
0435 0308

То есть как е+умляут
Получается что е и ё имеют одинаковый номер.

xmikex ★★★★
()

ё не идет за е

А после чего она идет?

[int[]][char[]]'её'
1077
1105
anonymous
()
Ответ на: комментарий от anonymous

Во, как раз про мой случай(join не захотела принимать результат sort). Спасибо

urquan
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.