Autor Zpráva
ge0rgecz
Profil
setlocale(LC_ALL, 'cs_CZ.utf8');
sort($pole, SORT_LOCALE_STRING);

podivně uspořádané pole :-)

$pole =[
  'Ibsenova',
  'I.P.Pavlova',
  'Strašnická',
  'Štůrova',
  '17. listopadu'
]

První příkaz vrací true, takže problém s chybějící locale není.
Bohužel pole je nakonec seřazeno podivně. Například text začínající číslicí je až na konci, nikoliv před A jak bych očekával a jak to udělá řazení které místo flagu SORT_LOCALE_STRING má jen SORT_STRING. Tento problém se vztahuje i na tečky a další speciální znaky, například I.P.Pavlova je až po ulici Ibsenova.

Jak toto zvláštní chování řešit ?
TomášK.
Profil *
Řazení vypadá správně česky. Zřejmě si myslíš, že jsou pravidla pro řazení jiná, než ve skutečnosti jsou (cs.wikipedia.org/wiki/Abecedn%C3%AD_%C5%99azen%C3%AD).
ge0rgecz
Profil
TomášK.:
Dobře, děkuji, vyrovnám se s tím :-)

jen mi v tom řazení nesedělo ani žazení tečky za b ani řazení čísla za písmenem, holt jsem asi příliš zvyklý na typické anglické zvyklosti řazení ...

každopádně díky reakci

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: