|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 16 Oct 2002 14:16:52 To : Victor Wagner Subject : Re: Debian 3.0 locale -------------------------------------------------------------------------------- Здравствуй, Victor Wagner. AM>>> Почему локаль может неправильно работать? AM>>> Ставлю базовый дистрибутив, потом пакет locales. Выбираю генерацию AM>>> ru_RU.KOI8-R и ее же по-умолчанию. В /usr/lib/locale/ru_RU.koi8r/ все AM>>> создается. Только теперь strcoll и все программы ее использующий AM>>> начинают строки сравнивать без учета регистра. Hапример `ls ~`: AM>>> ru_RU.KOI8-R: Mail mbox News prefix AM>>> C: Mail News mbox prefix AM>>> en_US: Mail mbox News prefix AM>>> Причина именно в strcoll, тестовая программа аналогично без регистров AM>>> сравнивает. В чем причина? Определения локалей кривые? Или я их AM>>> компилирую неправильно? AC>> Причина в том, что описанное поведение является правильным, а тебе нужно AC>> как раз неправильное. VW> Описанное поведение является не ПРАВИЛЬHЫМ, а СООТВЕТСТВУЮЩИМ СТАHДАРТУ. VW> По поводу правильности стандарта POSIX в части локалей есть очень много VW> нареканий. В частности, потому что функции case-sensitive сортировки VW> и не предусмотрены. А, пардон, по поводу case-sensitive сортировок есть общепринятые соглашения? Их вообще не бывает, потому и не может быть в POSIX. Кстати, насколько я где-то, чуть ли не в верблюде, читал, есть языки, у которых три регистра - заглавный, большие буквы и строчные. VW> В частности потому что не предусмотрена ситуация, VW> когда выводимое вещественное число предназначено для чтения машиной и VW> должно быть локале-независимым. От чего очень часто ломаются всякие VW> скриптовые языки и генерилки постскрипта при локали, отличной от C. То, что предназначено для чтения машиной, должно выводиться в локали C, нет? Она как бы для того и. Русских или английских машин не бывает, бывают фон-неймановские. -- Artem Chuprina Communiware.net RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/14454090934f9.html, оценка из 5, голосов 10
|