ziemot
14.03.2005, 16:51:44
Witam!
Problem na ktory sie natknalem jest trywialny acz upierdliwy...
mam plik txt robiacy za hmmm... baze danych, przerabiam go funkcja file() na tablice i taka tablice chcialbym posortowac.
Niestety w pliku txt znajduja sie slowa zaczynajace sie od polskich liter i tu jest problem gdyz:
php.ini ma ustawione locale na iso-8859-2
plik jest zrobiony w stronie kodowej iso-8859-2
bawie sie tym na WindowsXP + apache (na innych serwerach bylo tak samo)
ustawienie locale bezposrednio w pliku php takze nic nie pomoglo
a wynikiem jest posortowana tablica z tym ze wszystkie slowa zaczynajace sie od polskich liter znajduja sie na koncu.... - czyli kiepskie takie sortowanie :-)
Jak to zmienic, przegrzebalem cale archiwum ale jakos nie znalazlem odpowiedzi na to pytanie! Czy ktos sie spotkal z takim problemem?
ZiemoT
MarcinZ
14.03.2005, 17:02:59
A do czego ta baza danych jest w txt jak do stronki to możesz wziąć by polskie znaczki zamieniono na znaki specjalne HTML'a i przy pomocy ich sortować..
polecam poczytanie na temat sortowania w manualu
Sortowanie w php
brajan
15.03.2005, 10:07:06
Jakiś czas temu mialem podobny problem i jeśli dobrze pamiętam moje rozwiązanie polegało na użyciu UTF'a zamiast ISO.
ziemot
21.03.2005, 22:01:45
Plik tekstowy zawiera nazwy miejscowosci wraz z dodatkowymi danymi je opisujacymi, poszczegolne hmmm kolumny sa rodzielone znakiem "|"
Rozwiazaniem posrednim jest podmienienie polskich znakow na zestaw znaczkow np "Sz" ale to nie jest eleganckie. Co ciekawe zauwazylem ze ten problem wystepuje tylko przy stronie kodowej ISO-8859-2, gdy caly plik przekonwertowalem do strony kodowej windowsowej, sortowanie dzialalo bez zarzutu...
I co z tym mozna zrobic, bo ja sie poddalem :-(
ZiemoT
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.