Украинская кодировка
Добавлено: Пт 21 июл 2017 12:59
Всем привет.
Есть Делфи 5 Sp1 и компоненты ODAC v. 3.90.0.55.
Недавно возникла надобность использования украинского языка в таблицах Oracle. Все бы хорошо, но при сортировке "Є", "І" украинских букв сортировка не та что ожидается. Понятное дело что asc-коды этих букв меньше буквы "А" и поэтому, то что начинается с "Є", "І" идет впереди "А".
При использовании OraSession.net = false, т.е. работа через клиента Oracle - сортировка отрабатывает как должно бы, т.е идет в нормальном алфавитном порядке и т.д.
При OraSession.net = True, как понимаю, используются настройки кодировки самих ODAC-ов и вот тут уже "Є", "І" идут при сортировке раньше через буква "А".
Тут бы можно было сказать мол используй клиента Oracle, но ведь 1 из самых важных вещей, то что с помощью компонет Odac можно обходиться без клиента Oracle. И мне нужно именно без клиента oracle получать нормальную сортировку.
В итоге вот и вопрос, как сделать что бы при При OraSession.net = True украинские буквы отображались не перед буквой "А", а в нормальном алфавитном порядке?
Пробовал в OraSession.CharSet кодировки CL8KOI8R,CL8KOI8U, UTF-8,CL8MSWIN1251 и подобные..но результата не получил. Кстати в настройках клиента oracle в реестре кодовой страницей выбрана RUSSIAN_CIS.CL8MSWIN1251 и как понимаю CL8MSWIN1251 это она же. Установка CL8MSWIN1251 так же не дала положительного результата.
Добавлю, что использование столь древних версий Делфи и ODAC обуславливается привязкой некоторых проектов выполненных на этой версии делфи и некотором наборе компонет для delphi5. Искать и адаптировать под что то новое не хотелось бы, в виду платности компонент(речь не только о ODAC компонентах) которые придется приобретать или искать под новую версию что в общем то не практично, раз уже есть все готовое в данном случае.
Есть Делфи 5 Sp1 и компоненты ODAC v. 3.90.0.55.
Недавно возникла надобность использования украинского языка в таблицах Oracle. Все бы хорошо, но при сортировке "Є", "І" украинских букв сортировка не та что ожидается. Понятное дело что asc-коды этих букв меньше буквы "А" и поэтому, то что начинается с "Є", "І" идет впереди "А".
При использовании OraSession.net = false, т.е. работа через клиента Oracle - сортировка отрабатывает как должно бы, т.е идет в нормальном алфавитном порядке и т.д.
При OraSession.net = True, как понимаю, используются настройки кодировки самих ODAC-ов и вот тут уже "Є", "І" идут при сортировке раньше через буква "А".
Тут бы можно было сказать мол используй клиента Oracle, но ведь 1 из самых важных вещей, то что с помощью компонет Odac можно обходиться без клиента Oracle. И мне нужно именно без клиента oracle получать нормальную сортировку.
В итоге вот и вопрос, как сделать что бы при При OraSession.net = True украинские буквы отображались не перед буквой "А", а в нормальном алфавитном порядке?
Пробовал в OraSession.CharSet кодировки CL8KOI8R,CL8KOI8U, UTF-8,CL8MSWIN1251 и подобные..но результата не получил. Кстати в настройках клиента oracle в реестре кодовой страницей выбрана RUSSIAN_CIS.CL8MSWIN1251 и как понимаю CL8MSWIN1251 это она же. Установка CL8MSWIN1251 так же не дала положительного результата.
Добавлю, что использование столь древних версий Делфи и ODAC обуславливается привязкой некоторых проектов выполненных на этой версии делфи и некотором наборе компонет для delphi5. Искать и адаптировать под что то новое не хотелось бы, в виду платности компонент(речь не только о ODAC компонентах) которые придется приобретать или искать под новую версию что в общем то не практично, раз уже есть все готовое в данном случае.