Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Cirilicna slova u bazi

[es] :: Firebird/Interbase :: Cirilicna slova u bazi

[ Pregleda: 5500 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

darko_sudarov
ProConto Software doo
Kikinda

Član broj: 89262
Poruke: 136
212.200.34.*



Profil

icon Cirilicna slova u bazi26.06.2008. u 08:11 - pre 192 meseci
Kako napraviti da baza prihvati šđčćljnj tj cirilicu i pritom ne prikaze znake ?????? posle commit.

Pokusao sam da je difolt char set za bazu EASTEUROPE_CHARSET ne pomaze,
takodje polja varchar sam postavio charset na cyrl ne pomaze, pa sam probao win1251 collate PXW_CYRL ne pomaze.

-Cak ni ova baza ne voli cirilicu jer mi je prevela sada cirilicna slova u latinicu :-)
 
Odgovor na temu

savkic
Igor Savkić

Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Cirilicna slova u bazi26.06.2008. u 10:30 - pre 192 meseci
> Kako napraviti da baza prihvati šðèæljnj tj cirilicu i pritom ne prikaze znake ?????? posle commit.

> Pokusao sam da je difolt char set za bazu EASTEUROPE_CHARSET ne pomaze,

EASTUROPE_CHARSET je za latinicu.

> takodje polja varchar sam postavio charset na cyrl ne pomaze, pa sam probao win1251 collate PXW_CYRL ne pomaze.

WIN1251 ili UNICODE_FSS je to što ti treba, za collate ćeš morati da testiraš. Bitno je da i u svojoj aplikaciji podesiš connection charset (lc_ctype u database connection stringu) i da u edit kontrolama koristiš RUSSIAN_CHARSET.

Sa sledećim upitom možeš videti koji su charseti i collationi dostupni na bazi pa možeš iprobati koji collation ti najviše odgovara.
Code:

SELECT
  S.RDB$CHARACTER_SET_NAME, C.RDB$COLLATION_NAME, C.RDB$CHARACTER_SET_ID
FROM
  RDB$COLLATIONS C
  INNER JOIN RDB$CHARACTER_SETS S
    ON S.RDB$CHARACTER_SET_ID = C.RDB$CHARACTER_SET_ID
GROUP BY
  S.RDB$CHARACTER_SET_NAME, C.RDB$COLLATION_NAME, C.RDB$CHARACTER_SET_ID;

 
Odgovor na temu

darko_sudarov
ProConto Software doo
Kikinda

Član broj: 89262
Poruke: 136
212.200.34.*



Profil

icon Re: Cirilicna slova u bazi26.06.2008. u 10:58 - pre 192 meseci
Nece ni unicode_fss ni win1251.Mozda je u pitanju verzija ?

Ovde koristim firebird 1.53

Dali mozda na 2.xx to provereno radi ?


 
Odgovor na temu

mbabuskov
Milan Babuškov
Subotica

Član broj: 4718
Poruke: 217
82.208.250.*

Sajt: www.comp.rs/izradasajta


+6 Profil

icon Re: Cirilicna slova u bazi26.06.2008. u 21:51 - pre 192 meseci
Moja preporuka da koristis UTF8 i Firebird 2.x radi perfektno, default UTF8 collation slaze nasu cirilicu i latinicu kako treba.

Ako neces UTF8, a hoces latinicu, mozes WIN1250 i 'bosanski' collation sto je Fikret pravio (BA_BA) koji ti naravno sortira nasu latinicu ispravno.

Ako neces UTF8, a hoces cirilicu, onda WIN1251 ili ISO8859_5, mada ne znam da li collationi rade dobro - probaj. Firebird 2.1 bi trebalo da dozvoli da koristis UTF8 collation za bilo koji charset (nisam to jos probao), tako da mozes da koristis WIN1251 a da mu kazes da ti sortira po UTF8 redosledu.


 
Odgovor na temu

darko_sudarov
ProConto Software doo
Kikinda

Član broj: 89262
Poruke: 136
212.200.34.*



Profil

icon Re: Cirilicna slova u bazi27.06.2008. u 08:49 - pre 192 meseci
Ocito ja u necemu onda gresim jer ne mogu da dobijem nikako cirilicu na ekranu.

Formirao sam bazu na firebird 2.x po tvojim uputstvima ali ni dalje ne radi.

Prikačeni fajlovi
 
Odgovor na temu

Mr. Rejn
Deki Karamatijević
Sremčica

Član broj: 2514
Poruke: 515
*.adsl-a-1.sezampro.yu.



+4 Profil

icon Re: Cirilicna slova u bazi29.06.2008. u 11:22 - pre 192 meseci
Pokušaj takođe da u registraciji baze staviš fbclient.dll iz /bin direktorijuma Firebirda kao
DLL za klijenta umesto gds32.dll
Ag + Na -> Xe
 
Odgovor na temu

darko_sudarov
ProConto Software doo
Kikinda

Član broj: 89262
Poruke: 136
212.200.34.*



Profil

icon Re: Cirilicna slova u bazi30.06.2008. u 08:48 - pre 192 meseci
Probao sam i to i dalje ne radi...
Ima li neko vec formiranu bazu koja radi sa cirilicom da mi je posalje-(praznu,test sve jedno) ?
 
Odgovor na temu

rambo
Dejan Petković
Beograd

Član broj: 6095
Poruke: 190
*.eunet.yu.



+6 Profil

icon Re: Cirilicna slova u bazi01.07.2008. u 09:01 - pre 192 meseci
A koji ti Windows koristiš i šta ti je podešeno u Regional Settings u Control Panel-u?

Ako je Windows XP, onda moraš za ćirilicu da izabereš Serbian (Cyrilic) a ne (Latin), i to i na prvoj i na poslednjoj kartici.

Ako koristiš Linux, onda to MORA da radi bez obzira na podešavanja.

Za Windows Vista još nisam probao.

Druga stvar. Kako pristupaš bazi? Pomoću kojeg programa ili (ako koristiš Delphi ili neki drugi razvojni alat) pomoću kojih komponenti? Za Delphi je bitno da za Font.Charset postaviš RUSSIAN.

"There is a theory which states that if ever anybody discovers exactly what the
Universe is for and why it is here, it will instantly disappear and be replaced by
something even more bizarre and inexplicable. There is another theory which states
that this has already happened."
-- Douglas Adams
 
Odgovor na temu

darko_sudarov
ProConto Software doo
Kikinda

Član broj: 89262
Poruke: 136
212.200.34.*



Profil

icon Re: Cirilicna slova u bazi01.07.2008. u 14:44 - pre 192 meseci
Koristim win XP,cirilica serbian sam postavio kao difolt,pristupam bazi pomocu IB Experta...tu sam i stao jer mi nista ne znaci ako ako aplikacija radi sa cirilicom a ja ne mogu da vidim podatke sa IB Expertom da ih editujem.

Mozda je problem u IB Expertu da ne prikaze kako treba - mada sumnjam....
Nisam probao sa drugim alatima da pristupim bazi da proverim kako ih on prikazuje...
 
Odgovor na temu

Mr. Rejn
Deki Karamatijević
Sremčica

Član broj: 2514
Poruke: 515
212.200.65.*



+4 Profil

icon Re: Cirilicna slova u bazi01.07.2008. u 20:06 - pre 192 meseci
Mislim da to zavisi i od GUI na kome unosiš podatke, sa .NET ne treba da bude problema. Meni radi
ćirilica i bez charset i sortiranja UTF8 (SET NAMES NONE) ne znam zašto,samo se podesi ona tastatura na Serbian
(Cyrillic) ali kad stavim celu bazu na UTF8 (SET NAMES UTF8) onda izgleda neće preko DataGridView da se
unosi.Verzija Firebirda je 2.0.1
Dole su slike sa .NET i IBExperta (Delphi).
To je sa bazom bez UTF8 (SET NAMES NONE;)
Ag + Na -> Xe
Prikačeni fajlovi
 
Odgovor na temu

rambo
Dejan Petković
Beograd

Član broj: 6095
Poruke: 190
*.eunet.yu.



+6 Profil

icon Re: Cirilicna slova u bazi02.07.2008. u 06:48 - pre 192 meseci
Napravio sam jednu malu probu, pa sada ovde iznosim zapažanja.

Software:
• Windows Vista
• Regionalna podešavanja: Serbian (Latin)
• Firebird v2.1
• Default instalacija
• FlameRobin
• IBExpert

Pomoću FlameRobina sam kreirao novu bazu sa UTF8 charsetom. Zatim sam napravio jednostavnu tabelu Klijenti sa četiri polja (ID, PREZIME, IME, DATUM). Zatim sam dodao dva zapisa pri čemu sam u jednom koristio ćirilicu a u drugom latinicu. Sve je prošlo OK i na ekranu se videlo kako treba.

Onda sam startovao IBExpert i otvorio tu istu tabelu. Svi uneseni podaci se se takođe videli kako treba.

Kada sam zatim probao da unesem nove podatke (opet koristeći i ćirilicu i latinicu) prijavlio mi je grešku "Malformed string" za latinicu, dok je ćirilična slova zamenio sa znakovima pitanja ali je dozvolio unos.

Onda sam tu tabelu opet otvorio u FlameRobinu gde je onaj treći zapis (ćirilica) opet bio ispisan sa znakovima pitanja.

Moj zaključak je da problem uopšte nije u Firebird-u već isključivo u aplikacijama pomoću kojih se pristupa bazama. FlameRobin je jedini alat za koji ja znam da ima potpunu Unicode podršku, dok su svi ostali vezani za jedan Charset (Font charset). Zatim, svi ostali zbog toga vrše neku dodatnu konverziju koja očigledno nije adekvatna (primetite znakove pitanja tamo gde treba da bude ćirilica). Što se tiče razvojnih okruženja i komponenti koje se tamo koriste za pristup bazama, tu je problem uglavnom isti (i ovi alati su rađeni u nekom od njih). Tako, Delphi još uvek nema punu Unicode podršku kao ni većina komponenti, dok Visual Studio (.NET) radi kako treba. Nisam siguran za FIBPlus, jer sam video da u propertijima ima nešto vezano za Unicode, ali nisam dovoljno testirao. Ako se ne varam, FlameRobin je rađen u C++, pa su verovatno korišćene IBPP komponente koje takođe imaju Unicode podršku.

Sledi pitanje: Koji program koristiti (osim FlameRobina koji je malo nepraktičan za većinu korisnika) a da se iskoristi pun potencijal Firebirda? Takođe, koji paket komponenti (za Delphi) treba koristiti za istu stvar? I naravno, dokle ćemo da čekamo da sam Delphi postane potpuno Unicode? Ako je verovati najavama, Delphi 2008 bi to konačno trebao da reši do kraja... Videćemo.

Nadam se da će ovo nekome pomoći.

Napomena: Svi izneseni podaci su iz mog ličnog zapažanja i na osnovu mog ličnog iskustva, pa prema tome mogu biti i netačni.

"There is a theory which states that if ever anybody discovers exactly what the
Universe is for and why it is here, it will instantly disappear and be replaced by
something even more bizarre and inexplicable. There is another theory which states
that this has already happened."
-- Douglas Adams
 
Odgovor na temu

Mr. Rejn
Deki Karamatijević
Sremčica

Član broj: 2514
Poruke: 515
212.200.65.*



+4 Profil

icon Re: Cirilicna slova u bazi02.07.2008. u 12:39 - pre 192 meseci
UTF8 (SET NAMES UTF8 i DEFAULT CHARACTER SET UTF8) baza radi kako treba u .NET kada se podesi Connection string
sa UNICODE_FSS karaktersetom na FBConnection ADO.NET komponenti.Znam da to treba da se podesi i na Delphi
komponentama (IBX,IBO i ostale).IBExpert se izgleda ne snalazi tu kako treba (on koristi IBO koliko znam).
FlameRobin koristi koliko IBPP klase koje tačno obrađuju konekciju koja rukuje unicode karakterima.
Sad ne znamo koji jezik/komponente koristi darko u svom programu, ali treba da je to u pitanju: napraviti UTF8
bazu i navesti UNICODE_FSS u stringu za povezivanje na server.
Ovo može da bude primer stringa u .NET kada se koristi iz programa sa drugim parametrima:
Code:

conn_str="User="+textBox1.Text+";Password="+textBox2.Text+";Database="+textBox3.Text+";DataSource="+comboBox1.T
ext+";Port="+textBox4.Text+";Dialect=3;Charset=UNICODE_FSS;Role=;Connection lifetime=0;Connection 
timeout=15;Pooling=True;Packet Size=8192;Server Type=0";

Ag + Na -> Xe
Prikačeni fajlovi
 
Odgovor na temu

mbabuskov
Milan Babuškov
Subotica

Član broj: 4718
Poruke: 217
79.101.28.*

Sajt: www.comp.rs/izradasajta


+6 Profil

icon Re: Cirilicna slova u bazi03.07.2008. u 00:50 - pre 192 meseci
Mozda da razjasnim neke stvari.

FlameRobin u stvari radi konverziju iz charseta okruzenja (npr. WIN1251 za Cirilicni Windows) u charset koji se odabere za charset konekcije (npr. UTF8). Posle toga Firebird radi koverziju iz charseta konekcije u charset svake kolone koju cita/pise. I naravno sve unazad.

U stvari nema nikakve veze sa IBPP-om, vec konverziju rade funkcije iz wxWidgets biblioteke. Dakle, FlameRobin radi konverziju na relaciji GUI-IBPP i to u oba smera (tu imamo i jedan bug da ne radi konverziju BLOBova u oba smera na par mesta, ali to je vec druga prica).

Problem sa IBExpertom je sto neke transliteracije ne ume da uradi, tako da je najbolje da se za connection charset koristi isti karakter set koji ima okruzenje. Dakle, ako radite u Cirilicnom Windowsu stavite connection charset WIN1251 bez obzira da li je baza UTF8, UNICODE_FSS ili WIN1251. E sad, znam da su Holgerovi momci nesto ispravljali oko ovoga, ali ne znam koji je bio krajnji status jer sam prestao da pratim razvoj IBE pre jedno godinu dana. Potrudite se da imate najnoviju verziju IBExperta kada probate bilo sta - moguce da su ispravili problem.

 
Odgovor na temu

darko_sudarov
ProConto Software doo
Kikinda

Član broj: 89262
Poruke: 136
212.200.34.*



Profil

icon Re: Cirilicna slova u bazi03.07.2008. u 08:27 - pre 192 meseci
Ja imam najnoviju verziju IB Experta (2008.05.03) .
Nisu ispravili taj bug,nazalost.
 
Odgovor na temu

[es] :: Firebird/Interbase :: Cirilicna slova u bazi

[ Pregleda: 5500 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.