PDA

Zobacz pełną wersję : Sortowanie nazw z polskimi znakami



Migind
02-12-2010, 05:42
Przekopałem większość wiadomości nt. problemów z polskimi znakami, jednak mój problem jest nieco inny...

Otóż polskie znaki wyświetlają się prawidłowo. Problem pojawia się przy sortowaniu nazw zaczynających się polskimi znakami. Wszystkie zaczynające się od "Ł" lądują na końcu. Podejrzewam, że jest coś nie tak z ustawieniami bazy danych, gdyż problem pojawia się w trzech sytuacjach:
- alfabetyczne sortowanie artykułów w kategorii;
- sortowanie wpisów w tabeli (za pomocą dodatku Fabrik);
- wyświetlanie legendy do mapy z Google Maps;
wszędzie "ł" ląduje na końcu. Wybaczcie, jeśli to trywialne pytanie, ale bazy danych i kodowanie znaków to wciąż dla mnie wiedza niemal ezoteryczna...
Z góry serdeczne dzięki

Jola
03-12-2010, 00:30
Witam,
należy odszukać w kodzie fragment odpowiadający za sortowanie np.:

ORDER BY title ASCi zmienić na:

ORDER BY title COLLATE utf8_polish_ci ASC :)
Można też użyć funkcji PHP sortującej - przykład:

setlocale(LC_ALL, "pl_PL.UTF-8");
$literki = array('a','ą','b','c','ć','d','e','ę','f','g',' h', 'i', 'j', 'k', 'l', 'ł', 'm', 'n','ń', 'o', 'ó', 'p', 'r', 's','ś', 't', 'u', 'w', 'x', 'y', 'z', 'ź','ż');
sort($literki, SORT_LOCALE_STRING);
foreach ($literki as $key => $val) {
echo "litera[" . $key . "] = " . $val . "<br>";
}Lokalnie pod Windowsem nie działa prawidłowo - najlepiej testować na serwerze zewn.

Migind
04-12-2010, 14:18
Mogę jeszcze prosić o informację, w których plikach szukać tego kodu? Niestety w kwestii PHP jestem zielony.

Dwa pierwsze problemy rozwiązałem zmieniając właśnie system porównywania znaków na UTF_polish_ci dla odpowiednich tabel w bazie za pośrednictwem phpmyadmin. I działa pięknie. Niestety za diabła nie mogę dojść, które tabele odpowiadają za tworzenie legendy rozszerzenia Google Maps.

Jola
04-12-2010, 20:29
Niestety nie mam zainstalowanego tego rozszerzenia. Możesz podać namiary na Google Maps?
P.S.
"Dzięki" za minusa.

Migind
04-12-2010, 22:53
Jeśli to ma być plik z rozszerzenia Google Maps, to wszystko mi wyjaśnia. Sam sobie znajdę, nie będę Ci zabierał czasu :-) Jak nie dam rady, poproszę o pomoc. Korzystam z tego rozszerzenia: http://tech.reumer.net/
PS. jakiego minusa? o co chodzi?

Jola
04-12-2010, 22:56
Z tym minusem nie do Ciebie - pomyłka. :)