Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sortowanie wg innego kodowanie niż kodowanie DB
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
lis
Witam,
chciałem wyciągnać z bazy danych Postgres z tabeli "cities" pola id i name, posortowane wg name. Używam do tego zwykłego selecta z order by, jednak otrzymuje taki rezulatat:

Leszno Łomża Londyn Łowicz Śrem Środa Wielkopolska Żagań Żary Żory Żyrardów Żywiec Lubań Lubartów Lubin Lublin Lubliniec Luboń Łuków Świętochłowice Świdnica Świdnik Świebodzice Świebodzin Świecie Świnoujście Malbork Marki Mielec Mikołów Mińsk Mazowiecki


Jak się domyślam problem leży w kodowaniiu do porównywania napisów w DB. Kodowanie w postgresie to UTF8.
Problem troche uprościłem ale generalnie szukam rozwiązania aby sortowanie odbywało się z uwzględnieniem polskich znaków.
Rozwiązanie typu sortowanie babelkowe w skrypie mnie nie interesuje.
Sedziwoj
Pytanie, czy sortujesz po dobrej kolumnie?
Po drugie czy na pewno jest dobre kodowanie? Sprawdź przez pgAdmin jakie ma ta baza i czy jak w nim otworzysz wyświetla poprawnie znaki, bo może się zdarzyć, że baza ma ustawione UTF-8 a skrypty zapisują i odczytują w innym, dla strony nie ma różnicy, liczy się sekwencja znaków, ale po stronie bazy to już może dawać takie rezultaty.
lis
Sortuje po dobrej kolumnie, baza ma kodowanie UT8, utworzona została z ENCODING = 'UTF8'. Serwis oparty o tą BD działa bez zarzutu ponad rok, w tabelach poprawnie zapisywane są polskie znaki .
Sedziwoj
Próbowałeś wybrać dane kwerendą napisaną z palca, właśnie prze np. pgAdmina?
Bo jedyna rzecz co może być z bazą, to że ktoś ją skopał, ale w to wątpię, stawiam że to jest problem w aplikacji która z niej korzysta.
Tak jak testowałem u siebie, na UTF-8 działa bez problemu sortowanie z polskimi literami, więc ja bym w bazie rozwiązania problemu nie szukał.
DeyV
Jaka wersja postgresa?

Czy jest ustawione poprawnie utf-8 polish ci?
Sedziwoj
Cytat(DeyV @ 7.04.2008, 20:01:54 ) *
Czy jest ustawione poprawnie utf-8 polish ci?


Czy nie pomyliłeś bazy?
http://www.postgresql.org/docs/8.2/interac...ARSET-SUPPORTED
Chyba że ja czegoś nie widzę...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.