🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi.bazy-danych
4 messages
4 total messages Started by Sławek Sun, 17 May 2015 10:00
Firebird i poprawne sortowanie w UTF8
#82522
Author: Sławek
Date: Sun, 17 May 2015 10:00
41 lines
2213 bytes
Witam,
postanowi³em przebudowaæ program z kodowania WIN1250 na UTF8. Posz³o 
niespodziewanie ³atwo: mogê wpisywaæ wszystkie mo¿liwe znaki. Z jednym 
wyj¹tkiem.
Chodzi o problem opisany w:
http://tracker.firebirdsql.org/browse/CORE-3738

Czyli w skrócie:
"When I use ORDER BY the result set is:

a, ¹, ¹b, ac

and should be:

a, ac, ¹, ¹b "

Próbowa³em utworzyæ w³asne collation, ale nie przechodzi mi ¿adne LOCALE=...

Próbowa³em zgodnie z porad¹ z ww strony zrobiæ tak:

'CREATE COLLATION UNICODE_PL for UTF8 from UNICODE "LOCALE=pl_PL"'
Ale to wywo³uje b³¹d:
"unsuccesfull metadata update. Invalid collation atributes"

Przy innych jêzykach: DE_DE, EN_EN rezultat jest zawsze taki sam.

Sprawdzi³em inne ustawienie:
'CREATE COLLATION UTF8_NUM for UTF8 from UNICODE "NUMERIC-SORT=1"'
i to dzia³a poprawnie, wiêc wydaje mi siê, ¿e problem nie le¿y w wersji 
SQL czy b³êdach sk³adni.

Oczywiœcie na koñcu wykonujê "SET DEFAULT COLLATION", ale w przypadku 
zmiany LOCALE do tego etapu nie dochodzê.
Zwracam te¿ uwagê, ¿e nie chodzi mi o problem ze wszystkimi polskimi 
ogonkami wyrzucanymi na koniec listy - to ³atwo mo¿na naprawiæ.

Firebird 2.5.4 64bitowy, Delphi2010, Win8 64

-- 
Z góry dziêkujê za wszelk¹ pomoc, pozdrawiam,
S³awek
Re: Firebird i poprawne sortowanie w UTF8
#82523
Author: Sławek
Date: Sun, 17 May 2015 10:27
46 lines
2480 bytes
Bardzo przepraszam za bałagan w czcionkach: jak widać poległem na całej 
linii.  :-)
Poniżej jeszcze raz to samo, mam nadzieję, że czytelne.


postanowiłem przebudować program z kodowania WIN1250 na UTF8. Poszło 
niespodziewanie łatwo: mogę wpisywać wszystkie możliwe znaki. Z jednym 
wyjątkiem.
Chodzi o problem opisany w:
http://tracker.firebirdsql.org/browse/CORE-3738

Czyli w skrócie:
"When I use ORDER BY the result set is:


a, ą, ąb, ac

and should be:

a, ac, ą, ąb

Próbowałem utworzyć własne collation, ale nie przechodzi mi żadne LOCALE=...

Próbowałem zgodnie z poradą z ww strony zrobić tak:

'CREATE COLLATION UNICODE_PL for UTF8 from UNICODE "LOCALE=pl_PL"'
Ale to wywołuje błąd:
"unsuccesfull metadata update. Invalid collation atributes"

Przy innych językach: DE_DE, EN_EN rezultat jest zawsze taki sam.

Sprawdziłem inne ustawienie:
'CREATE COLLATION UTF8_NUM for UTF8 from UNICODE "NUMERIC-SORT=1"'
i to działa poprawnie, więc wydaje mi się, że problem nie leży w wersji 
SQL czy błędach składni.

Oczywiście na końcu wykonuję "SET DEFAULT COLLATION", ale w przypadku 
zmiany LOCALE do tego etapu nie dochodzę.
Zwracam też uwagę, ze nie chodzi mi o problem ze wszystkimi polskimi 
ogonkami wyrzucanymi na koniec listy - to łatwo można naprawić.

Firebird 2.5.4 64bitowy, Delphi2010, Win8 64

-- 
Z góry dziękuję za wszelką pomoc, pozdrawiam,
Sławek
Re: Firebird i poprawne sortowanie w UTF8
#82524
Author: Tomek D
Date: Mon, 18 May 2015 06:22
29 lines
1804 bytes
W dniu 2015-05-17 o 12:27, Sławek pisze:
> Bardzo przepraszam za bałagan w czcionkach: jak widać poległem na
> całej linii.  :-) Poniżej jeszcze raz to samo, mam nadzieję, że
> czytelne.
>
>
> postanowiłem przebudować program z kodowania WIN1250 na UTF8. Poszło
>  niespodziewanie łatwo: mogę wpisywać wszystkie możliwe znaki. Z
> jednym wyjątkiem. Chodzi o problem opisany w:
> http://tracker.firebirdsql.org/browse/CORE-3738
>
> Czyli w skrócie: "When I use ORDER BY the result set is:
>
>
> a, ą, ąb, ac
>
> and should be:
>
> a, ac, ą, ąb
>
> Próbowałem utworzyć własne collation, ale nie przechodzi mi żadne
> LOCALE=...
>

Biblioteki ICU zawarte w Firebird są nieco okrojone. Trzeba dodać pełne. 
Tu masz przepis:
http://rovanicek.blogspot.com/2012/02/firebird-and-unicode-databases.html

Tomek D.
Re: Firebird i poprawne sortowanie w UTF8
#82525
Author: Sławek
Date: Mon, 18 May 2015 12:09
14 lines
1457 bytes
W dniu 2015-05-18 o 08:22, Tomek D pisze:

>
> Biblioteki ICU zawarte w Firebird są nieco okrojone. Trzeba dodać pełne.
> Tu masz przepis:
> http://rovanicek.blogspot.com/2012/02/firebird-and-unicode-databases.html
>

- wielkie dzięki, sprawdzę.
Chociaż "nieco okrojone" to chyba eufemizm skoro nie przyjmuje nawet EN-EN.

-- 
Pozdrawiam,
Sławek
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads