
[Delphi] Database Desktop - chybne zobrazenie diakritiky...
Zdravim,
mam taky maly problem... urobil som jeden program v Delphi s databazou urobenou v Database Desktop (tabulka Paradox 7), no len nedavno som si vsimol, ze v Database Desktope mi zle zobrazuje diakritiku... miesto "ľ" sa mi zobrazuje "%" atd... skusal som nastavit aj iny jazyk tabulky (Restructure -> Table Language -> Modify) na "Borland ENG Latin-1", ten isty jazyk som nastavil aj v BDE Administratore ako "LANGDRIVER" pre tabulku Paradox a tiez aj v System -> INIT -> LANGDRIVER... no nepomohlo... co by som mohol este urobit, resp. co urobit, aby sa mi v Database Desktope zobrazovali texty so spravnym kodovanim...
V tom mojom programe pouzivam SQL jazyk a ked pouzijem vyhladavanie "select * from data where name like 'píštaľka'" tak samozrejme to nenajde... aj ked v programe to zobrazi spravne s diakritikou... ale v tabulke je miesto "ľ" -> "%".
OS: WinXP SP2
Database Desktop: v7.0
Delphi 6
Vdaka...
Tak som skusil, co ste mi tu poradili, no nic z toho mi nefunguje... nastavil som kodovanie v configu BDE a vytvoril som nanovo novu Paradox 7 tabulku... no diakritika nefungovala ani tak... v com este robim chybu?
Keď si dáš zobraziť v komponente DBGrid tú Tvoju tabuľku, tak čo... ?
Diakritika sa nezobrazí správne ? Alebo to stále trápiš zobraziť v Database Desktope ?
Zobrazenie v gride som neskusal... mne ide o zobrazenie v Database Desktop... V programe mi to funguje spravne s diakritikou... ale ked si to vyhladam cez SQL select tak mi to proste nevyhlada... ak dam miesto "ľ" "%" tak mi to najde, aj napriek tomu ze sa to zobrazi spravne...
v databaze: ko%ajnice
v programe: koľajnice
ak si to dam vyhladat: select * from data where name like "koľajnice" tak mi nenajde nic
ak si to dam vyhladat: select * from data where name like "ko%ajnice" tak mi najde presne ten zaznam, ktory potrebujem, ale ako zobrazene slovo je: "koľajnice"...
edit: este poznamka... vyhladavanie je realizovane v programe, nie v database desktop... ak si dam zobrazit vsetky polozky, zobrazi ich spravne s diakritikou, ale hladanie s diakritikou uz nefunguje... aj ked je to zobrazene spravne...
Aha, tak potom tento problém možno budem mať aj ja.
Dobre, rozpisem cely sposob ako to funguje:
V tabulke paradox 7 mam nejake stlpce, v ktorych su udaje... jeden udaj je: "píšťalka". Vyhladavanie je ralizovane v Delphi takymto sposobom:
a teraz popis: zadany text si skonvertujem na velke pismena a vyhladam v tabulke, tak ze vsetko skonvertujem na velke pismena...
Hladane slovo: píšťalka
Vysledok v "SearchText" je: PÍŠŤALKA
Ak zadam SQL prikaz: select upper(Mark) from data a vypis si hodim do dbgridu, tak sa mi zobrazi "PÍŠŤALKA" - cize podla spravnosti by hladanie fungovat malo... ale nefunguje...
Ak odstranim "%" v SearchText, ani tak to nefunguje... jedno, aj druhe skonvertuje spravne na velke pismena... zistil som, ze problem robia dve pismena: "ľ" a "ť".
ExecSQL je len moja funkcia, ktora vrati vysledok selectu do nejakeho query... Ide mi o hladanie, kde by sa nerozlisovali male a velke pismena, cize nie hladanie case-sensitive...
Ked som to urobil na sposob case-sensitive, tak to funguje spravne... ale nechapem, jednu vec... ked to prevedie v jednom, aj v druhom pripade spravne, preco to potom nefunguje??? Teda s malymi pismenami to funguje a s velkymi nie... je to normalne???
Kde je problem

hadam len nie vo mne... ![]:)](https://static.poradna.net/images/smiley/evilsmile.gif)
edit: skonvertovat to na male pismena som este neskusal...
Pozeram, ze vela ste mi neporadili... hmmm...
Takový zoufalý pokus: Zkus použít místo AnsiUpperCase SQL funkci UPPER i na hledaný vzor a dej vědět.
Problém je aj vo Windows, máš anglický. Ja som sa s tým nestretol. Mám český, ale zaujímavé vlákno, človek netuší na akých systémoch budú jeho programy bežať, takže si to tu popozerám.
Ja mám v tej hodnote BDA Admina 'ascii' ANSI.