powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / UTL_MATCH.EDIT_DISTANCE на кириллице
6 сообщений из 6, страница 1 из 1
UTL_MATCH.EDIT_DISTANCE на кириллице
    #40015518
n1zk1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
Почему UTL_MATCH.EDIT_DISTANCE для кириллицы работает по другому, и можно ли сделать так чтобы работал как для анг слов?
Пример:

SELECT UTL_MATCH.EDIT_DISTANCE('рука', 'моя рука') distance , 'ru' lt FROM DUAL
union
SELECT UTL_MATCH.EDIT_DISTANCE('dool', 'you dool') distance, 'en' lt FROM DUAL;

Для анг слов показывает 4, типа добавить "you ", я для рус слов 7, и не понимаю почему, хотя должна быть такая же логика как для анг слов, нет?
...
Рейтинг: 0 / 0
UTL_MATCH.EDIT_DISTANCE на кириллице
    #40015522
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юникодица?
...
Рейтинг: 0 / 0
UTL_MATCH.EDIT_DISTANCE на кириллице
    #40015529
n1zk1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав Любомудров,
не понял. Почему то каждая буква русского языка считается за 2. Это можно решить?
...
Рейтинг: 0 / 0
UTL_MATCH.EDIT_DISTANCE на кириллице
    #40015532
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю, вряд ли
Для юникода каждая "английская" буква занимает 1 байт, каждая национальная -- от 2
Хотя, это просто предположение
...
Рейтинг: 0 / 0
UTL_MATCH.EDIT_DISTANCE на кириллице
    #40015534
n1zk1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ок, спасибо за уделённое время!
...
Рейтинг: 0 / 0
UTL_MATCH.EDIT_DISTANCE на кириллице
    #40015544
Asmodeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
n1zk1
Всем привет!
Почему UTL_MATCH.EDIT_DISTANCE для кириллицы работает по другому, и можно ли сделать так чтобы работал как для анг слов?
Пример:

SELECT UTL_MATCH.EDIT_DISTANCE('рука', 'моя рука') distance , 'ru' lt FROM DUAL
union
SELECT UTL_MATCH.EDIT_DISTANCE('dool', 'you dool') distance, 'en' lt FROM DUAL;

Для анг слов показывает 4, типа добавить "you ", я для рус слов 7, и не понимаю почему, хотя должна быть такая же логика как для анг слов, нет?

Как подтверждение версии Вячеслава:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
select value from v$nls_parameters
where parameter = 'NLS_CHARACTERSET';


SELECT UTL_MATCH.EDIT_DISTANCE('рука', 'моя рука') distance , 'ru' lt FROM DUAL
union
SELECT UTL_MATCH.EDIT_DISTANCE('dool', 'you dool') distance, 'en' lt FROM DUAL;



Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
VALUE                                                           
----------------------------------------------------------------
CL8MSWIN1251

  DISTANCE LT
---------- --
         4 en
         4 ru



Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
VALUE                                                           
----------------------------------------------------------------
AL32UTF8                                                        


      DIST LT
---------- --
         7 ru
         4 en
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / UTL_MATCH.EDIT_DISTANCE на кириллице
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]