[ markolugonja @ 04.05.2007. 13:41 ] @
Poštovani,

Ima klijenta koji je zahtevao da mu napišem nekakav program sa ćiriličnim interfejsom i naravno ćiriličnim podacima u bazi. Sve sam to odradio korektno ali imam problem sa sortiranjem koji ne mogu da rešim i pored sveg truda. Na ivici sam sloma. Naime sort po koloni uvek postavlja Đ, Lj, Nj, J... ispred slova A. Pokušavao sam sa svim kombinacijama CHARACTER SET-ovanja plus COLLATE ali rezultata nema.

Koristio sam u startu FIREBIRD 1.5, pre neki dan instalirao 2.0 ali neznanje je neznanje i tu nema pomoći.

Ako imate vremena i dobre volje i ako neko može da mi pomogne onda pomozite!!!!

U očekivanju dobre vesti srdačni pozdrav svima
[ engineer @ 05.05.2007. 11:31 ] @
Koristi Firebird 2.0, UTF8 character set i COLLATE UNICODE.
[ markolugonja @ 05.05.2007. 22:42 ] @
Ne ide ovo bas, mozda sam malo premoren, probacu i sutra ali stvari stoje ovako:

Bazi prilazim programom pisanim u Clarion-u preko Firebird ODBC-a 1.02.00.69.
Karakter set u samom ODBC-u postavljen je na NONE (probao sam i druge kombinacije na nivou ODBC-a ali ne ide)

Karakter set na nivou baze je UTF8. Polje u jedonoj od tabela je tipa CHAR, karakter set samog polja je UTF8 a COLLATE je UNICODE.

Sada kada pokušam da upišem nešto u to polje iz mog programa Firebird mi šalje poruku:

SQL errror = -303
Conversion error from string ....

U Clarionu definisani font za dato polje je: ARIAL-cyrillic, tastatyura Serbian (Cyrillic).

Bez svih ovih podesavanja sve je islo glatko osim sorta....????

Za manipulisanje bazom koristim IBExpert. Ima tamo jedna malo zbunjujuca opcija pri registrovanju baze
a to je Font Characters Set i tu je kod mene RUSSIAN_CHARSET, mozda je u tome kvaka????

Ako pokusam da unesem neki cirilicni karakter u samom IBexpertu dobijem poruku: Invalid token. Malformed string.

Ako unesem bilo sta latinicno ide sve kako treba.

Za sada to je tako....

[ markolugonja @ 05.05.2007. 22:57 ] @
Izvinjavam se, kada iz mog programa pokušam unos novog sloga ćiriličnog sadržaja dobijem poruku:

Error: Malformed string (HY00)

Latinični sadržaj prolazi!!
[ engineer @ 05.05.2007. 23:31 ] @
Na žalost, ne poznajem Clarion tako da ti tu ne mogu pomoći, ali u samom FB-u kombinacija koju sam preporučio funkcioniše ispravno...
[ markolugonja @ 06.05.2007. 08:19 ] @
Hajde da zaboravimo Clarion.

Gde gresim kod kod same baze.

Karakter set na nivou baze je UTF8.
Polje u jedonoj od tabela je tipa CHAR, karakter set samog polja je UTF8 a COLLATE je UNICODE.


Ako pokusam da unesem neki cirilicni karakter korsisteci IBexpert dobijem poruku:


Invalid token. Malformed string.


Latinica prolazi korektno.

Verovatno moja pitanja prelaze u bezobrazluk ali pusto neznanje nikoga na put nije izvelo.
[ engineer @ 06.05.2007. 10:02 ] @
Da li IBexpert uopšte podržava ćirilicu / UTF8 / Unicode?
Probaj FlameRobin
[ markolugonja @ 06.05.2007. 12:35 ] @
Engineer,

Definitivno to funkcioniše baš kako si tvrdio.
Ostalo je moja briga.
Ostaje mi da vidim gde sam i šta brljao.

Mnogo ti hvala na pomoći, H. Radenković
[ savkic @ 07.05.2007. 13:39 ] @
Osim UTF8 charseta možeš raditi i sa WIN1251, koliko se sećam sortiranje je i korektnije urađeno u odnosu na unicode.
[ markolugonja @ 08.05.2007. 09:02 ] @
Pokušao sam WIN1251 ali to ja barem ne umem da setujem bazu i tabele da mi ćirilicu sortira pravilno.

Zamolio bih SAVKIC-a, ako nije problem, da napise SQL sekvence za CREATE i INSERT koje su proverene.

Inače ja sam problem rešio tako što sam za sada prešao na Clarion fajl sistem gde nemam ovih problema,
malo sve to sporije radi od Firebird-a ali šta da se radi. U svakom slučaju ako bi WIN1251 set prošao onda bi mi
to dobro došlo.

Hvala!
[ savkic @ 09.05.2007. 14:58 ] @
> Pokušao sam WIN1251 ali to ja barem ne umem da setujem bazu i tabele da mi ćirilicu sortira pravilno.
> Zamolio bih SAVKIC-a, ako nije problem, da napise SQL sekvence za CREATE i INSERT koje su proverene.

Izgleda da FB 1.5 nešto ne tretira dobro našu ćirilicu, WIN1251 ima tri collate verzije ali ni jedna nije za nas. Nema ovde FB 2 da vidim da li su u njemu to možda ispravili. Sećam se da su još u FB 1.5 neki ruski programeri uradili sve što treba za ruski, moguće je da nisu ništa za nas ili su možda radili za neki ISO88xxx charset.
[ mbabuskov @ 28.05.2007. 12:25 ] @
Citat:
savkic: Osim UTF8 charseta možeš raditi i sa WIN1251, koliko se sećam sortiranje je i korektnije urađeno u odnosu na unicode.


Unicode sortiranje je ispravno. IIRC, Win1251 sortira po ruskoj cirilici. U Firebirdu 2.1 kada izadje final verzija ce moci da se koristi UNICODE collation za bilo koji charset, tako da ce se moci definisati kolona CHARACTER SET WIN1250 COLLATE UNICODE i svi nasi problemi reseni.
[ svrle @ 28.05.2007. 19:49 ] @
mbabuskov napisa:
> cirilici. U Firebirdu 2.1 kada izadje final verzija ce moci da se
> koristi UNICODE collation za bilo koji charset, tako da ce se moci
> definisati kolona CHARACTER SET WIN1250 COLLATE UNICODE i svi nasi
> problemi reseni.

Kad se već spominje collation, da li je moguće da on automatski bude
case-insensitive? Na primer, kad se u nekom upitu uradi "order by" po
nekoj koloni koja sadrži imena osoba, dobije se nešto slično ovome:

Aca
Laza
Mika
Pera
branko
janko
nenad

Ako bih želeo da dobijem ovakav redosled:

Aca
branko
janko
Laza
Mika
nenad
Pera

da li je to moguće uraditi bez "order by upper(kolona)" ili "order by
lower(kolona)", već da "order by kolona" bude dovoljan?

--
Pozdrav,
Vladimir.
[ engineer @ 28.05.2007. 21:35 ] @
http://www.elitesecurity.org/p1565239
[ svrle @ 29.05.2007. 08:40 ] @
engineer napisa:
> http://www.elitesecurity.org/p1565239

Hej, radi! Hvala puno.
(Koristio sam FB 2.0 i UTF8, ali ne i COLLATE UNICODE)

--
Pozdrav,
Vladimir.
[ markolugonja @ 24.07.2008. 06:48 ] @
"U Firebirdu 2.1 kada izadje final verzija ce moci da se koristi UNICODE collation za bilo koji charset, tako da ce se moci definisati kolona CHARACTER SET WIN1250 COLLATE UNICODE i svi nasi problemi reseni.

Milan Babuskov"

Milan je bio u pravu. Firebird 2.1 konacno sadrzi resenje o kome smo diskutovali.

CHARACTER SET WIN1251 COLLATE WIN1251_UNICODE funkcionise!!!

Proverio sam i upotrebio iz Clarion-a i sve je kao šećer!!!!