[ broker @ 02.02.2006. 15:19 ] @
Kako napraviti apliakciju u Delphiju za azurrianje MySQL baze iz koje se podaci koriste iz PHP-a za prikaz na web sajtu? Web sajt je na UTF-8. Treba da bude podrzana i nasa cirilica i latinica.
[ sasas @ 02.02.2006. 16:00 ] @
Ja koristim sledeću varijantu:

- ADOLX - mislim da se tako zove (preko mysql odbc drivera) za pristup bazi iz delphija, u suštini ado komponente sa unicode podrškom, napravili su ih isti ljudi kao i Tnt
- Tnt kontrole za prikaz texta na ekranu (da bi sve lepo radilo u ćirilici/latinici)
- GetText/SetText svakog text fielda u kojem se rade samo funkcije UTF8Encode /UTF8Decode, da bi se text lepo zapisao u bazu
- Korisno je napraviti i par funkcija za pretvaranje ćirilice u latinicu (ovo mislim da sam pokrao od nekog, moguće čak i sa ovog foruma :)

to je otprilike to. nadam se da je bar malo pomoglo.

ss.
[ apex @ 02.02.2006. 16:10 ] @
Na forumu je bilo par reci o svemu ovome i koliko sam video svi preporcuju koriscenje ZEOS komponenti za rad sa mySQL-om i DelphimySQL komponente sa mySQL-ovog sajta, medjutim nigde na netu nisam nasao nikakav primer aplikacije koja koristi ove komponente. :(
+ nisam cak ni uspeo da u Delphi7 instaliram sve komponente iz ZEOS-a
[ broker @ 02.02.2006. 17:21 ] @
UTF8Encode/UTF8Decode? To nema u D5.
[ apex @ 02.02.2006. 17:25 ] @
Citat:
ADOLX - mislim da se tako zove


Ja mislim da se tako ne zove. Ajde ako moze malo vise pomoci, makar oko pravilnog naziva komponenti posto GOOGLE ne daje nikakve rezultate za ADOLX
[ broker @ 02.02.2006. 18:33 ] @
Probao sam i ranije TNT VCL. Sve to lepo izgleda. APliakcija prihvata i latinicu i cirilicu ali mi ne ide da to prepisem negde drugde, recimo da iz TNT momp polja prepisem uneseni tekst u tekst datoteku na disku koju mogu da otvorim iz Notepad-a i vidim citak unicode tekst. Sve se zavrsi sa kukama i kvakama...
[ nikola.j @ 02.02.2006. 18:42 ] @
>

idi na tntware.net i potrazi tntlx komponente. Medju njima je i ADOLX
[ sasas @ 02.02.2006. 20:01 ] @
Citat:
broker: UTF8Encode/UTF8Decode? To nema u D5.


Da, zaboravio sam da napomenem, da je to što sam ja radio bio Delphi 7. Sad malo gledam po netu, i nađoh na http://fundementals.sourceforge.net/cUnicodeCodecs.html unit koji nudi mnogo funkcija za konverzije među kodnim rasporedima, između ostalog videh da ima i:

function WideStringToUTF8String(const S: WideString): String;

Kod mene (opet u Delphi 7) funkcija radi korektno, piše da je kompatibilno i sa D5.
Znači npr:

ADOQuery1.FieldByName("Ime").AsString := WideStringToUTF8String(TntEdit1.Text);

U bazi će se i dalje videti kuke i kvake, ali na html strani na kojoj je encoding postavljen na utf8 će se sve videti lepo.

Samo još da napomenem da sam experimentisao i sa dbExpress i Zeos komponentama, i da mi nisu bile ok rešenje - jednostavno je zavisnost među verzijama potrebnih DLLova i verzijama baze prevelika, i za mene neprihvatljiva (program se jednostavno raspadne čim se uradi makar mali update verzije mySQL).

ss.
[ apex @ 02.02.2006. 21:57 ] @
Citat:
Samo još da napomenem da sam experimentisao i sa dbExpress i Zeos komponentama, i da mi nisu bile ok rešenje - jednostavno je zavisnost među verzijama potrebnih DLLova i verzijama baze prevelika, i za mene neprihvatljiva (program se jednostavno raspadne čim se uradi makar mali update verzije mySQL).


Hvala na ovoj maloj recenziji, meni je pomogla u tom smislu shto ne zelim da gubim vreme radeci na kodu koji cu svaka 3 meseca morati da azuriram.

Pa posto ja ne znam vise nijednu komponentu za rad sa Online mySQL bazom, moze li mala pomoc oko izbora pravih komponenti - sta vi predlazete. Inace aplikacija koju zelim da radim je slicno kao i brokerova, znaci za azuriranje baze.
[ martinj @ 02.02.2006. 22:49 ] @
Ako ti treba neka pomoc oko ZEOS komponenti javi se na pm...
[ apex @ 02.02.2006. 23:51 ] @
Citat:
Ako ti treba neka pomoc oko ZEOS komponenti javi se na pm...


E pa da znas da cu da se javim :)
p.s. hvala na zainteresovanosti povodom teme
[ Nemanja Avramović @ 03.02.2006. 11:50 ] @
Jel mogu i ja da se javim u vezi pomoci sa Zeos komponentama?
[ apex @ 03.02.2006. 13:42 ] @
@martinj

Mozda puno trazim ali da li bi mogao da napises kratak tutorial sa primerom (cisto da znamo kako bi krenuli sa pravljenjem aplikacije), mislim da bi to koristilo i ostalim clanovima foruma, a u isto vreme ti ne bi dosadjivali porukama na PP :)

Ili mozda neki link ako imash
[ komplikator @ 23.02.2006. 08:20 ] @
Evo, i ja se pridružujem ovoj temi sa svojim pitanjima...

Trenutno radim apliakciju u Delphiju koja se kači na MySql ili na Firebird. Trenutno su obje u igri dok ne istestiram brzinu i neke druge detalje no po svemu sudeći uzet ću Firebird.

Koristim Firebird 2.0x no preko standardnih IB komponenti (griješim li takvim pristupom?) do MySql koristim preko ZeOS DBO (zadnja stabilna verzija). MySql je verzija 4.1.


U obje baze sam polje koje je meni interesantno postavio na UTF-8 i UTF-u collation kako bi dobio one moje famozne nj, lj, dž pri sortiranju i pretraživanju.

Na formama koristim tntwareove utf kontrole.

Negdje mi je priča "ostala u zraku" jer ne dobivam što trebam, vjerojatno negdje uporno preskačem nešto u cijeloj logici. Naime, Firebird mi uporno prikazuje upitnike bilo iz emsIBmanagerLlite bilo iz Delphija, dok mi kod MySql-a FromtMySql ispravno prikazuje sva ta divlja slova no u delphiju ih opet nemam.

Gdje ja to fulam u pristupu?
Pokušao sam UTF8Encode i UTF8Decode pri upisu nekog polja no ne vidim baš nikakav efekt.

Može jedan kratki tutorial za bedaka poput mene?

Molio bi odgovor na još jedno podpitanje...
Program će s vremena na vrijeme morati raditi uvoz i export manjih količina podataka u CSV-u, XML-u ili nečemu sličnom. Je li se zbog toga odmah u startu orjentirati na ADO i sve bazirati na ADO-u. uključujući i pristup Firebirdu, MySql-u. ili nečemu trećem preko ODBC-a ? Pozitivno mi je u tome uglavnom lakše mijenjanje baze i manja ovisnost o verzijama baze jer praktički samo mijenjam ODBC provider (sve ostalo ću raditi stored procedurama i sl. tako da sam donekle neovisan i o razlici u SQL-u), no negativno je što imam tu jednu stepenicu između, instalaciju ODBC drivera i sl dok Firebird (kad se pojavi embeded verzija dvojke) praktički držim u jednom fileu ili instaliram malen i nezahtjevan server.