Существует таблица Access с греческими словами, которые содержат буквы с дыханием и акцентами, те символы, которые относятся к диапазонам Unicode 'Greek and Coptic' (0300-0370) и 'Greek Extended' (1F00-1FFF).
Проблема в том, что во всех сравнениях буквы этого более высокого диапазона (греческий расширенный) вообще не учитываются, как если бы они отсутствовали. Письма с отметками дыхания (ἀ, ἐ, ὑ, ὦ и т. Д.) Попадают в эту область.
Например, запрос для ἄρχομαι (выберите * из grc, где лемма = 'ἄρχομαι') возвращает как ἄρχομαι и ἔρχομαι, так и ρχομαι.
Предположим, что в таблице есть αὐγής, но нет ἀαγής (обратите внимание на дыхание). При запросе ἀαγής в качестве результата возвращается αὐγής, поскольку буквы ὐ и ἀ не сопоставляются, как если бы двигатель искал «αγής».
Но этого можно избежать с помощью функции strcomp, которая делает сравнение точным. Проблема в том, что когда в этом столбце есть уникальный индекс, вы не можете вставить много слов, которые считаются повторяющимися, потому что расширенные греческие символы игнорируются. Есть и другие случаи, когда требуется правильная сортировка.
Чтобы воспроизвести проблему, создайте уникальный индекс для столбца Unicode и посмотрите, можете ли вы вставить в него как ἄρχομαι и ἔρχομαι, так и оба αὐγής и ἀαγής.
Я использую не Access, а драйвер ODBC Access Runtime 2016 и работаю с VBScript, источником базы данных является простой файл .mdb.
Некоторые говорят, что можно установить параметры сортировки для каждой базы данных (http://www.utteraccess.com/forum/Collate-Access-t1940463.html). Но как это сделать?
Прежде чем прибегнуть к удалению уникального индекса или обновлению до SQL Server?
Спасибо!