powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / не ищет какие надо ставить кодовые страницы...
14 сообщений из 14, страница 1 из 1
не ищет какие надо ставить кодовые страницы...
    #37553255
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
индексирую таблицу
INDEX ON PADL(UPPER(strtran(index," ","")),7," ") TAG sss
?SEEK(PADL(UPPER(strtran("Т10104 "," ","")),7," "))
ищет нормально и в кирил. и в лат. набрана буква T
?SEEK(PADL(UPPER(strtran("P10104 "," ","")),7," "))
ищет, если только буква Р, набрана в латинице, в кирилице не ищет....
?cpdbf() - 866
В чём проблема?
...
Рейтинг: 0 / 0
не ищет какие надо ставить кодовые страницы...
    #37553270
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не должно быть проблем. P10104 точно есть в таблице? Встань на эту запись и выполни:
Код: plaintext
? index, PADL(UPPER(strtran(index," ","")), 7 ," ") = PADL(UPPER(strtran("P10104 "," ","")), 7 ," ")
...
Рейтинг: 0 / 0
не ищет какие надо ставить кодовые страницы...
    #37553273
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Locate находит seek нет
...
Рейтинг: 0 / 0
не ищет какие надо ставить кодовые страницы...
    #37553280
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
? index, PADL(UPPER(strtran(index," ","")),7," ") = PADL(UPPER(strtran("Р01156"," ","")),7," ")
Р01156 .Т. (Р01156, брался из таблицы copy-Past)
index on .... и т.д.
? SEEK( PADL(UPPER(strtran("Р01156"," ","")),7," "))
.F.
LOCATE FOR PADL(UPPER(strtran(index," ","")),7," ")=PADL(UPPER(strtran("Ð01156 "," ","")),7," ")
?FOUND()
.Т.
...
Рейтинг: 0 / 0
не ищет какие надо ставить кодовые страницы...
    #37553320
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выложи пример DBF-ки на которой глючит, чтоб твой глюк повторить можно было.
...
Рейтинг: 0 / 0
не ищет какие надо ставить кодовые страницы...
    #37553373
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот эта таблица с тндексным файлом, только я заранее извиняюсь, если у вас всё нормально, то значит у меня где-то в настройках проблему надо искать...
...
Рейтинг: 0 / 0
не ищет какие надо ставить кодовые страницы...
    #37553556
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица с одной записью. Индексного файла нет.
...
Рейтинг: 0 / 0
не ищет какие надо ставить кодовые страницы...
    #37553643
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чёртов microsoft, выделил два файла, а он заархивировал один, вот индексный файл
...
Рейтинг: 0 / 0
не ищет какие надо ставить кодовые страницы...
    #37553675
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совсем запутался, это не тот индексный файл, вот здесь прикреплённый, тот
seek PADL(UPPER(strtran("Ð01156 "," ","")),7," ")
.F.
LOCATE FOR PADL(UPPER(strtran(INDEX," ","")),7," ")= PADL(UPPER(strtran("Ð01156 "," ","")),7," ")
.T.
...
Рейтинг: 0 / 0
не ищет какие надо ставить кодовые страницы...
    #37553798
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индекс не нужен. Есть косяк.
Неадекватно отрабатывает функция UPPER() при создании индекса.
Убери ее из:
Код: plaintext
INDEX ON PADL(UPPER(strtran(index," ","")), 7 ," ") TAG sss
...
Рейтинг: 0 / 0
не ищет какие надо ставить кодовые страницы...
    #37553861
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, но поменять индекс во всём комплексе задач, где идут ключевые связи по этому индексу с многими таблицами... не, лучше сделаю проверку замены русской "Р", на латинскую "P", я думал, что заработался и не вижу косяков с кодовыми страницами таблицы или строк в таблице..., теперь буду исходить из этой данности...
...
Рейтинг: 0 / 0
не ищет какие надо ставить кодовые страницы...
    #37553935
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Русскую Н еще проверь. с ней тоже какие-то проблемы были в досе.
...
Рейтинг: 0 / 0
не ищет какие надо ставить кодовые страницы...
    #37554261
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данном случае для формирования ключа поиска придется использовать такую конструкцию

Код: plaintext
1.
2.
3.
4.
5.
searchValue = CPConvert( 1251 ,  866 , F10bud.INDEX)
searchValue = PADL(UPPER(StrTran(searchValue, " ", "")), 7 ," ")
searchValue = CPConvert( 866 ,  1251 , searchValue)

?SEEK(m.searchValue)

Проблема заключается в том, что данные в таблице храняться в кодовой странице 866 и при формировании выражения индекса функция UPPER() преобразовывает значение в 866 кодовой странице. Но при работе в среде FoxPro данные отображаются в кодовой странице 1251 и выражение UPPER() преобразовывает выражение в кодовой странице 1251. А это два разных ASCII-кода

Как следствие, надо выполнить формирование ключа поиска в 866 кодовой странице, а затем вернуть полученное значение в кодовую страницу 1251, поскольку именно в ней и отображаются данные.
...
Рейтинг: 0 / 0
не ищет какие надо ставить кодовые страницы...
    #37554331
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ,

Большое спасибо, завтра проверю...
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / не ищет какие надо ставить кодовые страницы...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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