нашел вариант лучше:
select * from table t
order by NLSSORT(t.Title , 'NLS_SORT=UKRAINIAN')
Найдено 3 результата
- Вт 01 авг 2017 13:04
- Форум: Oracle Data Access Components
- Тема: Украинская кодировка
- Ответы: 3
- Просмотры: 15584
- Вт 01 авг 2017 11:07
- Форум: Oracle Data Access Components
- Тема: Украинская кодировка
- Ответы: 3
- Просмотры: 15584
Re: Украинская кодировка
Спасибо за ответ. Как вариант, этот способ решения тоже не плох. Всего наилучшего
- Пт 21 июл 2017 12:59
- Форум: Oracle Data Access Components
- Тема: Украинская кодировка
- Ответы: 3
- Просмотры: 15584
Украинская кодировка
Всем привет.
Есть Делфи 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 компонентах) которые придется приобретать или искать под новую версию что в общем то не практично, раз уже есть все готовое в данном случае.