Autor | Zpráva | ||
---|---|---|---|
2ge Profil |
#1 · Zasláno: 15. 1. 2014, 05:38:33 · Upravil/a: Moderátor (editace znemožněna) 15. 1. 2014, 09:42:43
Ahojte,
bolo to tu preberane niekolko krat, ale nejako to neviem spojazdnit, netusim kde robim chybu. <?php header('Content-Type: text/html; charset=utf-8'); echo "<pre>"; setlocale(LC_ALL, 'cs_CZ.UTF-8', 'Czech'); echo "Nastaveny locale: ". setlocale(LC_ALL, 0) . "\n"; $countries = array( 'Bulharsko', 'Česko', 'Polsko', 'Čína' ); sort($countries, SORT_LOCALE_STRING); print_r($countries); ?> vypise: Nastaveny locale: cs_CZ.UTF-8 Array ( [0] => Bulharsko [1] => Polsko [2] => Česko [3] => Čína ) potrebujem pouzivat systemove locale, a nie vlastne php porovnavania, pretoze radenie sa netyka len Cestiny, Slovenciny, ale napriklad aj Arabctiny a inych 50 jazykov, kde nemam potuchy ako to spravne dat dokopy. Pouzivam: PHP 5.4.23 (cli) (built: Dec 16 2013 00:36:15) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans (OSX 10.9.1): Darwin MBP.local 13.0.0 Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64 x86_64 medzi $ locale -a sa nachadza aj: cs_CZ cs_CZ.ISO8859-2 cs_CZ.UTF-8 |
||
2ge Profil |
#2 · Zasláno: 16. 1. 2014, 04:33:30
mohol by to niekto vyskusat povedzme na Linuxe, ci to funguje ? Skusal som to na Mac OSX a Free BSD a neide to, ale malo by to fungovat, tak rozmyslam, ci to nie je OS zavisle...
|
||
Tori Profil |
#3 · Zasláno: 16. 1. 2014, 05:07:47
Výchozí jazyk OS mám anglinu, SUSE 11.4, PHP 5.3.5, funguje podle očekávání. Zkoušel jste jiné jazyky, jestli to v nich taky řadí špatně? Anebo když zkusíte i to "cs_CZ" (bez kódování)?
|
||
2ge Profil |
#4 · Zasláno: 16. 1. 2014, 05:13:03
Tori, dakujem za odpoved. Ostatne jazyky som neskusal, ale nevidim dovod preco by to malo fungovat pre ine a nie pre Cestinu (SK som skusal tiez). Aj bez kodovania som skusal - nepomaha vobec nic.
mozete mi poslat vypis adresara: $ pwd /usr/share/locale/cs_CZ.UTF-8 $ ls -la total 24 drwxr-xr-x 8 root wheel 272 Oct 23 18:07 ./ drwxr-xr-x 226 root wheel 7684 Oct 23 18:07 ../ lrwxr-xr-x 1 root wheel 28 Oct 23 18:06 LC_COLLATE@ -> ../la_LN.US-ASCII/LC_COLLATE lrwxr-xr-x 1 root wheel 17 Oct 23 18:06 LC_CTYPE@ -> ../UTF-8/LC_CTYPE drwxr-xr-x 3 root wheel 102 Oct 23 18:07 LC_MESSAGES/ -r--r--r-- 1 root wheel 36 Oct 23 18:06 LC_MONETARY lrwxr-xr-x 1 root wheel 29 Oct 23 18:06 LC_NUMERIC@ -> ../cs_CZ.ISO8859-2/LC_NUMERIC -r--r--r-- 1 root wheel 397 Oct 23 18:06 LC_TIME Ostatni - ak niekto pouziva OSX (alebo FreeBSD), mozete to vyskusat prosim ? |
||
Tori Profil |
#5 · Zasláno: 16. 1. 2014, 05:57:09
U mně to je jiný adresář:
$ locale -a | grep 'cs_' cs_CZ cs_CZ.utf8 $ pwd /usr/lib/locale/cs_CZ.utf8 $ ls -la total 424 drwxr-xr-x 3 root root 4096 Jul 17 2012 . drwxr-xr-x 454 root root 16384 Jul 9 2012 .. -rw-r--r-- 1 root root 164 Jul 9 2012 LC_ADDRESS -rw-r--r-- 2 root root 111970 Jul 9 2012 LC_COLLATE -rw-r--r-- 176 root root 256324 Jul 9 2012 LC_CTYPE -rw-r--r-- 1 root root 391 Jul 9 2012 LC_IDENTIFICATION -rw-r--r-- 263 root root 23 Jul 9 2012 LC_MEASUREMENT drwxr-xr-x 2 root root 4096 Jul 17 2012 LC_MESSAGES -rw-r--r-- 1 root root 294 Jul 9 2012 LC_MONETARY -rw-r--r-- 1 root root 82 Jul 9 2012 LC_NAME -rw-r--r-- 12 root root 54 Jul 9 2012 LC_NUMERIC -rw-r--r-- 251 root root 34 Jul 9 2012 LC_PAPER -rw-r--r-- 1 root root 60 Jul 9 2012 LC_TELEPHONE -rw-r--r-- 1 root root 2446 Jul 9 2012 LC_TIME |
||
2ge Profil |
#6 · Zasláno: 16. 1. 2014, 06:31:43
vdaka. asi sa skusim opytat priamo na PHP forume, alebo podat Bug report. Nic ine som neskusal, co sa tyka radenia ani v OS - ale teraz som si v OSX spravil zopar adresarov a tie radi spravne - pozeranie cez prikazovy riadok a finder.
mna hlavne zaujalo, ze OSX/FreebSD pouziva sym linky na definicie, kdezto u vas to su pekne subory, a napr LC_COLLATE@ -> ../la_LN.US-ASCII/LC_COLLATE - moze sposobovat problem. Pozeral som dalsie jazyky a vsetky odkazuju na tento subor, naozaj zaujmave. |
||
Časová prodleva: 10 let
|
0