![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Бдешный Upper( Я )<>Upper( я ) [dBase, FoxPro]
Serginio © (2002-12-30 16:04:00)Проблема BDE в запросах и идексах. И таких вещей я насчитал около 10-15. Как с этим бороться. Для примера если у вас есть в поле Яблоко и вы напишите Select * From xx Where descr=Upper("яблоко"), то запрос ничего не найдет.
Serginio (2003-01-05 21:21:00) [1]Да в запросе она берет как раз DBASE
Serginio (2003-01-05 21:19:00) [2]Большое спасибо.
Поставил Для DBASE и FoxPro Pdox ANSI Cyrillic все сработало!!!
Остались только:
AnsiUpperCase(ѓ)=Ѓ<>ѓ
AnsiUpperCase(ђ)=Ђ<>ђ
AnsiUpperCase(љ)=Љ<>љ
AnsiUpperCase(њ)=Њ<>њ
AnsiUpperCase(ќ)=Ќ<>ќ
AnsiUpperCase(ћ)=Ћ<>ћ
AnsiUpperCase(џ)=Џ<>џ
AnsiUpperCase(ў)=Ў<>ў
AnsiUpperCase(і)=І<>і
AnsiUpperCase(ґ)=Ґ<>ґ
AnsiUpperCase(є)=Є<>є
AnsiUpperCase(ј)=Ј<>ј
AnsiUpperCase(ѕ)=Ѕ<>ѕ
AnsiUpperCase(ї)=Ї<>ї
Но это не важно, но интересно почему???
sniknik (2003-01-05 21:11:00) [3]Serginio (05.01.03 20:56)
не трудно с тобой. зачем повторяешся?
пришли мне таблицу с которой тестиш (только маленькую!), даже если у тебя кодировкадругая, подобрать можно. Видел сколько там разных? ->BDE32.HLP->Language drivers?
sniknik (2003-01-05 21:05:00) [4]все класно и програмно выставляется
var List : TStrings;
begin
List:= TStringList.Create;
Memo1.Lines:= List;
List.Add ("LANGDRIVER=ancyrr");
Session.ModifyDriver("FOXPRO",List);
Session.ModifyDriver("DBASE",List);
List.Free;
end;
(сам был виноват, сначала читал значения в тот же лист и не ощищал вот он и оставался каким был. т.е при
List.Add ("LANGDRIVER=cyrr");
List.Add ("LANGDRIVER=ancyrr");
возьмет первое значение, или ошибка но не покажет и останется каким был установлен)
кстати откуда ты уверен что у тебя FOXPRO срабатывает? поставь на всякий пожарный и в DBASE то же значение, ну можно еще LEVEL поставить 25 (Use 25 for FoxPro. Default: 7).
может поэтому и мучаешся ставиш не там?
Serginio (2003-01-05 20:56:00) [5]1С версии 7.5 в Dos кодировке dBASE RUS cp866 в 7.7 в 1251 (ANSI) .Значит это только у меня Upper(Я)<>Upper(я)???
sniknik (2003-01-05 20:48:00) [6]1С держит в 1251 (вроде)
описание из
D:\Program Files\Common Files\Borland Shared\BDE\BDE32.HLP
раздел
Language drivers
dBASE RUS cp866 DB866ru0 DOS CODE PAGE 866 dBASE Russian
...
Pdox ANSI Cyrillic ancyrr 1251 (ANSI) Compatible with Paradox "cyrr"
...
кстати совсем разные кодировки (Dos,Windows) ты ее в досе как видиш (в нортоне)? как абракадабру? или разборчивый текст?
у меня работает.
(правда почемуто програмно не задается, см. выше. буду разбиратся ancyrr ставил и cyrr одно*^%но)
Serginio (2003-01-05 20:14:00) [7]Перезагрузился таже беда. Именно на ч,ё,я.
Еще раз повторю таже беда была у меня когда таблицы были в кодировке dBASE RUS cp866.
sniknik (2003-01-05 20:07:00) [8]черт програмно чегото не получается. неправильное имя драйвера счас попробую найти.
Serginio (2003-01-05 20:05:00) [9]руками скопировал Pdox ANSI Cyrillic.
Таже беда. Сейчас перезагружусь
sniknik (2003-01-05 20:02:00) [10]можно програмно (если не получается руками :-)
var List : TStrings;
begin
Memo1.Lines:= List;
List.Add ("LANGDRIVER=cyrr");
Session.ModifyDriver("FOXPRO",List);
Session.ModifyDriver("DBASE",List); //на всякий случай
List.Free;
end;
будет действенно на одну сессию (если не сохраниш)
Serginio (2003-01-05 19:47:00) [11]> Этаже бяка и для DBase 866 проверено
(ну кодировки то разные всетаки)
Так база была в этой кодировке
Подскажи как для FoxPro поставить Pdox ANSI Cyrillic.
Для "ascii" ANSI запрос SELECT DESCR,UPPER(DESCR) FROM SC2222.DBF
выдает то что Я описывал выше
sniknik (2003-01-05 19:43:00) [12]corry
Serginio (05.01.03 19:36)
> А для FoxPro только "ascii" ANSI.
рукуми,руками ставь, скопируй отсюда и ставь. Pdox ANSI Cyrillic
sniknik (2003-01-05 19:41:00) [13]> У тебя получилось
да с Pdox ANSI Cyrillic
сделай запрос вида
SELECT DESCR,UPPER(DESCR) FROM SC2222.DBF
хорошо видно, все правильно.
> Этаже бяка и для DBase 866 проверено
(ну кодировки то разные всетаки)
Serginio (2003-01-05 19:36:00) [14]У тебя получилось
SELECT * FROM SC2222.DBF WHERE UPPER(DESCR)=UPPER("буХгаЛтериЯ")???
А для FoxPro только "ascii" ANSI.
Этаже бяка и для DBase 866 проверено
sniknik (2003-01-05 19:31:00) [15]ты непонятно обьясняеш :-((
поставь руками лангдрайвер
Pdox ANSI Cyrillic
будет работать
Serginio (2003-01-05 19:16:00) [16]Еще раз повторю
Upper(ё)<>Upper(Ё)
Upper(ч)<>Upper(Ч)
Upper(я)<>Upper(Я)
Serginio (2003-01-05 19:12:00) [17]А теперь набери
SELECT * FROM SC2222.DBF WHERE UPPER(DESCR)=UPPER("буХгаЛтериЯ")
sniknik (2003-01-05 19:08:00) [18]ну у тебя просто комп уникальный (как и ты сам)
вот сделал запрос, специально к 1С-ной таблице,
SELECT * FROM SC2222.DBF WHERE UPPER(DESCR)=UPPER("офис")
ленгдрайвер "ascii" ANSI
поверь работает правильно.
на случай вышеперечисленных
SELECT * FROM SC2222.DBF WHERE UPPER(DESCR)=UPPER("буХгаЛтери я")
тоже выбирает.
разбирайся. а я устал уже. :-((
Serginio (2003-01-05 18:52:00) [19]Кроме ниже перечисленных (>128) равны
AnsiUpperCase(ѓ)=Ѓ<>ѓ
AnsiUpperCase(ђ)=Ђ<>ђ
AnsiUpperCase(ќ)=Ќ<>ќ
AnsiUpperCase(ћ)=Ћ<>ћ
AnsiUpperCase(џ)=Џ<>џ
AnsiUpperCase(ў)=Ў<>ў
AnsiUpperCase(і)=І<>і
AnsiUpperCase(ґ)=Ґ<>ґ
AnsiUpperCase(ё)=Ё<>ё
AnsiUpperCase(є)=Є<>є
AnsiUpperCase(ј)=Ј<>ј
AnsiUpperCase(ѕ)=Ѕ<>ѕ
AnsiUpperCase(ї)=Ї<>ї
AnsiUpperCase(ч)=Ч<>ч
AnsiUpperCase(я)=Я<>џ
sniknik (2003-01-05 18:45:00) [20]Nil © (05.01.03 18:30)
>Спасибо!
страннно. кому? за что? и от кого?