FreeBSD: ru_RU.UTF-8 LC_COLLATE
lexa - 27/Фев/2008 22:49
Несмотря на мой пессимизм относительно сортировки строк с многобайтными символами в FreeBSD, жизнь оказалась лучше, чем мне казалось.
Наш читатель, Александр Загребин, любезно поделился исходником locale LC_COLLATE для FreeBSD, который лечит проблему сортировок для ru_RU.UTF-8. Я немножко поправил Makefile, чтобы результат ставился прямо поверх системного файла, выкладываю (с согласия автора, естественно) это для всеобщего использования:
- HTTP: http://blog.lexa.ru/files/ru_RU.UTF-8.LC_COLLATE.tar.gz
- FTP: ftp://ftp.lexa.ru/pub/domestic/misc/ru_RU.UTF-8.LC_COLLATE.tar.gz
Update
Я сделал работу над ошибками, обновленный вариант (с тем же URL) и комментарии к нему берите здесь.
Comments
Наконец-то нормальный пост про эту проблему. А то все Postgr
Наконец-то нормальный пост про эту проблему. А то все PostgreSQL, уроды...
<blockquote>Если нужен более привычный порядок сортировки (б
А можно его таки сделать? Просто для полноты картины. нет же гарантии, что какой-то имеющийся софт не использует как раз [A-Z]
Ну сделаю, не фокус. Но не сегодня. На самом деле, в перле
Ну сделаю, не фокус. Но не сегодня.
На самом деле, в перле collation в регулярных выражениях не используется (насколько я это вижу в тестах), а на awk мне на самом деле наплевать.
Ловите: http://blog.lexa.ru/2008/03/03/freebsd_utf8_russian_
Ловите:
http://blog.lexa.ru/2008/03/03/freebsd_utf8_russian_collate_vtoraja_popi...
[root@10 /home/ftpall/ru_RU.UTF-8.LC_COLLATE]# make Syntax e
[root@10 /home/ftpall/ru_RU.UTF-8.LC_COLLATE]# make
Syntax error: "(" unexpected
*** Error code 2
Чую я, у вас по make запускается не BSD-шный make, а какой-т
Чую я, у вас по make запускается не BSD-шный make, а какой-то еще.