|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
При сортировке используется не совсем верный порядок латышских букв, даже при использовании соответствующего COLLATE WIN1257_LV. 4 буквы из используемых не различают наличие акцентированных букв. Это поведение задокументировано в Collation chart for WIN1257.WIN1257_LV (Firebird 2.0.3) , но не является правильным. Подскажите можно ли внести исправления самостоятельно и что для этого нужно сделать (если скомпилять свою fbintl, то где её взять)? п.с. параллельно этому посту зарегистрирую баг в firebird issue-tracker-e ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2010, 19:18 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
Hello, debose! You wrote on Thu, 09 Sep 10 16:18:32 GMT: debose d> п.с. параллельно этому посту зарегистрирую баг в firebird issue-tracker-e 2.0.Х специально из-за этого вряд ли кто станет ковырять, (имхо) обновить версию не хочешь? -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2010, 19:33 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
Мимопроходящий, так на последней и тестирую. Баг проявляется в 2.5. Просто Collation Chart нашёлся только для 2.0.3 версии, вот на него и дал ссылку. Насколько я понимаю с тех пор там ничего особо не изменилось по части латышского. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2010, 19:40 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
а мне вот интересно, почему все остальные латышские пользователи этого коллейта работают и не жалуются... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2010, 22:11 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
dimitr> а мне вот интересно, почему все остальные латышские пользователи этого коллейта работают и не жалуются... Тупо не пользуют акцентированные символы? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2010, 23:58 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
dimitrа мне вот интересно, почему все остальные латышские пользователи этого коллейта работают и не жалуются... если есть сомнения - можно ведь спросить Яниса. Да и у нас в фирме есть носители языка - могу уточнить. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 00:01 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамТупо не пользуют акцентированные символы? не верю (с) oleg_mмогу уточнить сделай, плиз Дело в том, что этот коллейт делался (в яффиле, ЕМНИП) как раз по заказу латышей. Так что странно слышать претензии много лет спустя. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 07:46 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
dimitroleg_mмогу уточнить сделай, плиз Дело в том, что этот коллейт делался (в яффиле, ЕМНИП) как раз по заказу латышей. Так что странно слышать претензии много лет спустя. а спросить-то что? :-) CORE-3131 ? Вопрос звучит так, если я правильно перевел: "диакретики должны обязательно идти после простых букв, а не вперемешку, (как сейчас делает FB)" btw, гугл в первом десятке выдал © Текст: Доктор наук Инна Друвиете, Латвийский Университет; Доктор наук Байба Кангаре, Стокгольмский Университет; Институт Латвии, 2001 г. вроде как верно говорит - все диакретики после простых букв. ну так вроде здесь так и есть... debose - покажите, как выглядит запрос, в котором диакретики не отсортированы. (Collate в сортировке указан?) К записи в трекере полезно прилагать скрипт, воспроизводящий ситуацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 08:28 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
фраза в тикете, что основные буквы и диакретики идут вперемешку (не отсортированы) не корректна. На самом деле, вопрос стоит по-другому. Сейчас последовательность сортировки такая: a, A, a', A', b, B. В тикете же требуется так: a, a', A, A', b, B (ну или наоборот, от заглавных к строчным), т.е. чтобы в сортировке не перемежались заглавные и строчные буквы разной диакретичности. Я таких требований в ссылке на алфавит никак не наблюдаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 08:57 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
dimitr, ок, спрошу, как они в офисе появятся. Не поленился, и скопировал все "их закорючки" (по-доброму, конечно ) по буквам a и e - в Excel, и отсортировал в прямом и обратном порядке. Excel с тобой (и с FB) - согласен. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 09:12 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
Привет всем. Правильно так - диакритики идут после простых букв, например (незнаю выдно ли всем будет шрифт): АААА аааа āāāā BBBB bbbb CCCC cccc čččč В FB вроде всё правильно на мои взгляд ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 09:53 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
Janex, под твой пример подходят оба оспариваемых варианта :-) Добавь в него "долгое а" заглавное и "мягкое че" заглавное. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 10:23 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
И так: вот как сортирует excel: aa AA āā ĀĀ cc CC čč ČČ То что диакретики идут сразу после простых букв, ето правильно, НО неправильно по регистру - сперва должны идти большие буквы. Можбить и чтото в самом excell-е в какихто настроиках ето можно указать, не в курсе ... Правилпно будет так: AA ĀĀ aa āā CC ČČ cc čč Тоесть правильно так как написано в CORE-3131: http://tracker.firebirdsql.org/browse/CORE-3131 Наверно ошибся нашёт правильнои сортировки в FB, наверно тогда неправильно, непроверял, правильно на 100% ето как в CORE-3131 написано. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 10:52 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
dimitr Дело в том, что этот коллейт делался (в яффиле, ЕМНИП) как раз по заказу латышей. Так что странно слышать претензии много лет спустя. Лично мы долгое время сидели на FB 1.5, а там вместо латышской кодовой страницы использовалась турецкая и танцы с бубном. Подробности того, почему это работало сейчас выяснить будет затруднительно. Не так давно перешли на WIN1257 и столкнулись с описанной проблемой. oleg_m Вопрос звучит так, если я правильно перевел: "диакретики должны обязательно идти после простых букв, а не вперемешку, (как сейчас делает FB)" Именно. CORE-3131 - это и есть мой вчерашний кейс. oleg_mbtw, гугл в первом десятке выдал © Текст: Доктор наук Инна Друвиете, Латвийский Университет; Доктор наук Байба Кангаре, Стокгольмский Университет; Институт Латвии, 2001 г. вроде как верно говорит - все диакретики после простых букв. ну так вроде здесь так и есть... oleg_mdebose - покажите, как выглядит запрос, в котором диакретики не отсортированы. (Collate в сортировке указан?) К записи в трекере полезно прилагать скрипт, воспроизводящий ситуацию. Скрипт приложу чуть позже. По нему станет понятно, почему некоторые примеры сейчас работают у всех, а некоторые нет. dimitrфраза в тикете, что основные буквы и диакретики идут вперемешку (не отсортированы) не корректна. На самом деле, вопрос стоит по-другому. Сейчас последовательность сортировки такая: a, A, a', A', b, B. В тикете же требуется так: a, a', A, A', b, B (ну или наоборот, от заглавных к строчным), т.е. чтобы в сортировке не перемежались заглавные и строчные буквы разной диакретичности. Я таких требований в ссылке на алфавит никак не наблюдаю. Формулировка действительно кривовата (раз допускается неоднозначная трактовка). Вообще, я не рассматривал ситуацию чередования заглавных и строчных букв в сортировке. Основная проблема в том, что буквы с диакретическими знаками должны следовать после аналогичных букв без этих знаков. Строчные и заглавные буквы были приведены для иллюстрации. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 11:44 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
JanexВ FB вроде всё правильно на мои взгляд В FB всё может выглядеть правильным, до тех пор пока тестовый пример состоит из одинаковых символов. Проблемы начнутся, с такой последовательностью: FBaa āb ac Если отсортировать в FB, то получится так как приведено в примере. А должно быть так: Excelaa ac āb Аналогичные проблемы и с буквами E I U. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 11:45 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
dimitrСейчас последовательность сортировки такая: a, A, a', A', b, B. В тикете же требуется так: a, a', A, A', b, B (ну или наоборот, от заглавных к строчным) в общем, хз. с первой попытки она подтвердила слова Яниса, но потом начала сомневаться :-) может поэтому - раньше никто и не жаловался? [11:43:23] Oleg Matveyev: вопрос такой: как правильно сортировать список если в нем есть и заглавные/строчные и диакрит ? [11:43:41] Oleg Matveyev: например [11:44:02] Oleg Matveyev: так a, A, a', A' [11:44:12] Oleg Matveyev: или так a, a', A, A' [11:46:54] Vita: второй вариант [11:47:01] Oleg Matveyev: спасибо! [11:47:11] Vita: да не за что (sun) [11:48:05] Vita: первый вариант тоже будет правильно - главное чтобы длинные буквы стояли за короткими [11:49:05] Oleg Matveyev: а как же так? [11:49:14] Oleg Matveyev: нет однозначного толкования? [11:50:53] Vita: если честно - никогда не обращала внимания на это. но различия между большой буквой и маленькой же нет Жирным выделил я. Говорит носитель языка, письма (на латышском) в компании именно она пишет. Что впрочем, не гарантирует ее стопроцентную грамотность. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 12:03 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
У меня в родне имеются предподователи, попытаюсь наидти какуюто толковую по латышкому языку. Если наиду, дам знать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 12:33 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
Hello, Janex! You wrote on Fri, 10 Sep 10 09:33:35 GMT: Janex J> У меня в родне имеются предподователи, попытаюсь наидти какуюто J> толковую по латышкому языку. J> Если наиду, дам знать :)Janex, а может есть какие-то стандарты на эту тему? -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 12:39 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
Ребят, мне кажется мы отошли от темы. Вопрос не в том, как правильно сортировать заглавные и строчные буквы - в это плане ситуация едва ли отличается от английского языка. Проблема в том, что некоторые буквы с диакритическими знаками перемешиваются с буквами без этих знаков. А вопрос топика был следующий: можно ли это как-то исправить своими силами? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 13:00 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
debose А вопрос топика был следующий: можно ли это как-то исправить своими силами? Насколько я понимаю, достаточно внести изменения в src/intl/collations/win1257_lv.h и пересобрать птицу. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 13:03 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
Кстати, эта проблема была характерна не только для Firebird. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 13:03 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov debose А вопрос топика был следующий: можно ли это как-то исправить своими силами? Насколько я понимаю, достаточно внести изменения в src/intl/collations/win1257_lv.h и пересобрать птицу. Dimitry Sibiryakov, спасибо. Не подскажете, пересобирать придётся всю птицу, или там есть возможность пересобрать только fbintl? Буду курить исходники пытаясь понять что там к чему и надеясь, что кто-нибудь из разработчиков внемлет отчёту CORE-3131 и решит эту проблему. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 13:14 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
насчет вопроса строчная/заглавная - это все фигня. Кто идет первой - вопрос вкуса. Главное, чтобы не было вот такой ерунды: A->B->C->a->b->c. У нас во всех коллейтах первой из пары идет строчная буква, нехай оно так и остается. кстати, я был неточен насчет нашего порядка сортировки. Диакритик идет за базовым знаком только при полном совпадении строк в их accent-insensitive форме. Иначе все становится веселее: "abc" -> "ābc" -> "acd". ради интереса посмотрел на другие таблицы на том же сайте collation charts. Наш вариант совпадает с MSSQL (откуда он и был списан яффилом, насколько я помню). Причем locale для старых виндов (до висты) тоже аналогичен (откуда и был предположительно скопирован в MSSQL). Начиная с висты винды считают диакритики (причем не все, а только долготу и мягкость - верхние дефис и "крышечку") отдельным символом. Аналогично считает оракл. Кто тут прав - хрен разберешь :-) но даже если считать диакритики отдельными, то сортироваться они все равно будут по-экселевскому: a -> A -> ā -> Ā. Разница будет лишь в вышеприведенном примере: "abc" -> "acd" -> "ābc". Т.е. не будет диакритиков вперемешку с базовыми символами. Но надо ли автору именно это, я не знаю. как добиться варианта от Janex - вопрос интересный. Для этого вес регистра надо делать выше веса акцента. А это, насколько я в курсе, противоречит дизайну многуровневых коллейтов. В том же юникоде четко описано, что 2-й уровень это акцент, а 3-й - регистр. К тому же я пока не увидел ни одного продукта, чей порядок сортировки соответствовал бы требуемому. Так что склонен проявить упрямство :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 13:19 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
debose, если я угадал в своем предпоследнем абзаце выше - то сделаю так без проблем. Но в официальный 2.5.0 это уже не попадет, только в 2.5.1 или в снапшоты. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 13:23 |
|
Ошибка с COLLATE WIN1257_LV, что можно сделать для исправления?
|
|||
---|---|---|---|
#18+
dimitr ради интереса посмотрел на другие таблицы на том же сайте collation charts. Наш вариант совпадает с MSSQL (откуда он и был списан яффилом, насколько я помню). Причем locale для старых виндов (до висты) тоже аналогичен (откуда и был предположительно скопирован в MSSQL). Начиная с висты винды считают диакритики (причем не все, а только долготу и мягкость - верхние дефис и "крышечку") отдельным символом. Аналогично считает оракл. Кто тут прав - хрен разберешь :-) Я чуть выше приводил ссылочку , где описывалась история аналогичного бага в MS SQL 2005, и пару примеров иллюстрирующих суть проблемы. А порядок сортировки заглавных и строчных букв, пусть остаётся таким же как был - а то клиенты ещё и за это съедят. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2010, 13:26 |
|
|
start [/forum/search_topic.php?author=Alex_I_am&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
others: | 688ms |
total: | 876ms |
0 / 0 |