Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie w postgres LATIN2
faster
post 7.01.2004, 11:03:03
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 9.09.2002
Skąd: Pszczyna

Ostrzeżenie: (0%)
-----


Witam!
Mam problem z sortowaniem polskich znaków w postgresie.
Mam bazkę w LATIN2 i tabelę z polem dajmy na to 'nazwa'. Insertuję rekordy zaczynające się min. na Ł,Ą,Ż itp itd.
robię selecta ..... order by nazwa i te rekordy z polskimi znakami mam porozrzucane bez ładu i składu gdzie popadnie. Doradźcie co może być nie tak. Czy należy może ustawiać coś na serwerze (jakieś locale) dodatkowo żeby to działało poprawnie. Testwałem to na Win i na Linuxie. Działa tak samo :(.
Dzięki i pozdrawiam
::faster
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
kicaj
post 7.01.2004, 16:01:44
Post #2





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

Ostrzeżenie: (0%)
-----


byl podobny temat poruszany ale w MySQL'u, niestety nie pamietam czy zostal on rozwiązany - poszukaj, ale "ogonki" zawsze byly na koncu sortowania


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
Go to the top of the page
+Quote Post
kustosz
post 7.03.2007, 22:19:45
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 12.04.2006

Ostrzeżenie: (0%)
-----


sprawdź:
convert(kolumna_latin2, 'LATIN2', 'UTF-8')
ja z kolei mam problem z ILIKE '%ĄĘ%' kolumna_latin2 (bez względu na to czy kodowana w LATIN2 czy w UTF8

--------------------

ludzie piszę że trzeba skompilować z opcją --enable-locale, i należy locale ustawiać przy initdb czyli:
export LC_COLLATE=pl_PL
export LC_CTYPE=pl_PL
export LC_MESSAGES=pl_PL
export LC_MONETARY=pl_PL
export LC_NUMERIC=pl_PL
export LC_TIME=pl_PL
(zapisać w init.d)

ale tego nie sprawdzałem


--------------------
kus
Go to the top of the page
+Quote Post
rzabapl
post 20.03.2007, 19:20:17
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 20.03.2007

Ostrzeżenie: (0%)
-----


Cytat(kustosz @ 7.03.2007, 22:19:45 ) *
ja z kolei mam problem z ILIKE '%ĄĘ%' kolumna_latin2 (bez względu na to czy kodowana w LATIN2 czy w UTF8

--------------------

ludzie piszę że trzeba skompilować z opcją --enable-locale, i należy locale ustawiać przy initdb czyli:
export LC_COLLATE=pl_PL
export LC_CTYPE=pl_PL
export LC_MESSAGES=pl_PL
export LC_MONETARY=pl_PL
export LC_NUMERIC=pl_PL
export LC_TIME=pl_PL
(zapisać w init.d)

ale tego nie sprawdzałem


Ja sprawdziłem i nie pomogło sad.gif
Mam ten sam problem. Jak są pod rząd 2 polskie znaki to system staje się w dziwny sposób case - sensitive.
w bazie jest Łódź - wpisanie łódź nie łapie wyniku, ale już Łódź zwraca poprawnie.

Problem sie pojawil po przesiadce z pg 8.0 na 8.1.

Probowalem juz wszystkich metod -ILIKE ILKE ~* naturalnie uppercasowalem wszystko.

Jakas mina. Daj znac czy podolales. Jak wymysle to tez napisze

pozdrawiam

M

Btw. Witam wszystkich. Jakis czas juz czytam ale dzisiaj mam debiucik;)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 16:38