Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql]Latin1 a poprawne sortowanie
ksiegol
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 26.06.2007

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


Witajcie

Mam następujący problem. Serwer, na którym znajduje się tworzona przeze mnie baza danych, sortuje według zestawu znaków latin1. Nie mam możliwości zmiany ustawień serwera. Ogólnie z polskimi znakami nie mam problemu, są wyświetlane poprawnie, ale sytuacja jest już mniej ciekawa jeśli chodzi o wyświetlanie list w kolejności alfabetycznej. Polskie znaki są oczywiście na końcu. Czy możecie w związku z tym poradzić jakiś sposób obejścia tej przeszkody i zmuszenia skryptu do prawidłowego sortowania po polsku? Zaznaczę, że zmiana serwera mysql nie wchodzi niestety w grę.

Będę wdzięczny za wszelkie wskazówki

pozdrawiam

Adam
Go to the top of the page
+Quote Post
drPayton
post
Post #2





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Zestaw porównywania znaków (dla kolumn tekstowych tabel i ew bazy i całych tabel) ustaw na ten, którego chcesz używać (dajmy na to latin2 [czyli iso-8859-2]): jako latin2_general_ci.
np:
  1. ALTER DATABASE baza DEFAULT CHARACTER SET latin2 COLLATE latin2_general_ci
  2. ALTER TABLE tabela CHARACTER SET latin2 COLLATE latin2_general_ci;

W skrypcie zaraz po nawiązaniu połączenia wykonaj zapytanie
  1. <?php
  2. mysql_query("SET NAMES 'latin2'");
  3. ?>

Jak to nie pomoże to chyba już nic innego...
Ogólnie problem wynika stąd, że polskie znaki diakrytyczne (jak zresztą wszystkie inne) są umieszczone za alfabetem podstawowym, więc z punktu widzenia sortowania ą jest większe niż z...

Ten post edytował drPayton 31.08.2007, 12:00:22
Go to the top of the page
+Quote Post
ksiegol
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 26.06.2007

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


Dzięki za propozycję, ale niestety nie zadziałało.

Spotkałem się gdzieś natomiast z propozycją, aby dane z bazy sczytać do tablicy i potem już na tablicy dokonać właściwego sortowania. Nie wiem jednak jak za bardzo miałoby to wyglądać.

z góry dzięki za pomoc i pozdro

Adam
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 Aktualny czas: 19.08.2025 - 05:28