magyar rendezés
Egy sokszor lerágott témát szeretnék elővenni, de többszöri utánakeresésre sem találtam meg a megoldást...
Adott a jó öreg sort függvény, ékezetes karaktereket is tartalmazó tömbbel:Az eredmény sajnos:
Ezután felmerült, hogy talán a magyar környezettel van probléma, de a két gyorsteszt ennek ellentmondott:
illetve:Az eredmény persze:
Az az öltet sem segített, hogy talán egy másik nyelvi beállítással próbálkozzak.az eredmény négyszer ugyanaz a hibás sorrend.
Hosszú bénázás után találtam arra vonatkozó utalást, hogy a hu_HU definíciós fájlt nem magyarok írták, így az ábc-vel vannak gondok. A megoldást tartalmazó oldal sajnálatomra már nem él.
Ekkor felmerült, hogy talán a kedvenc Linuxomban nem jó a magyar rendezés???
Jobban meglepődtem volna, ha nem a helyesen eredményt kapom, de a fenti probléma megoldásához persze egy lépéssel sem kerültem közelebb...
Ötlet???
■ Adott a jó öreg sort függvény, ékezetes karaktereket is tartalmazó tömbbel:
<?php
setlocale(LC_ALL, 'hu_HU');
$my_array = array('b', 'á', 'a', 'c');
sort($my_array);
print_r($my_array);
Array (
[0] => a
[1] => b
[2] => c
[3] => á
)
[0] => a
[1] => b
[2] => c
[3] => á
)
Ezután felmerült, hogy talán a magyar környezettel van probléma, de a két gyorsteszt ennek ellentmondott:
turig:~$ locale -a | grep hu
hu_HU
hu_HU.iso88592
hu_HU.utf8
hungarian
lithuanian
hu_HU
hu_HU.iso88592
hu_HU.utf8
hungarian
lithuanian
illetve:
<?php
setlocale(LC_ALL, 'hu_HU');
echo strftime('%A', time());
szerda
Az az öltet sem segített, hogy talán egy másik nyelvi beállítással próbálkozzak.
<?php
$my_array = array('b', 'á', 'a', 'c');
foreach(array('hu_HU', 'hu_HU.iso88592', 'hu_HU.utf8', 'hungarian') as $i) {
setlocale(LC_ALL, $i);
sort($my_array);
print_r($my_array);
}
Hosszú bénázás után találtam arra vonatkozó utalást, hogy a hu_HU definíciós fájlt nem magyarok írták, így az ábc-vel vannak gondok. A megoldást tartalmazó oldal sajnálatomra már nem él.
Ekkor felmerült, hogy talán a kedvenc Linuxomban nem jó a magyar rendezés???
turig:~$ echo -e "b\ná\na\nc" | sort
a
á
b
c
a
á
b
c
Jobban meglepődtem volna, ha nem a helyesen eredményt kapom, de a fenti probléma megoldásához persze egy lépéssel sem kerültem közelebb...
Ötlet???
Csak olyan fapados
talán legjobb, ha írsz egy my_sort()-ot... :(