Ahoj,
mam takovy maly problem, ale pro me dost dulezity... Kdyz pouziju funkci "StrToLower" (nebo StrToUpper) např. na ŠŠ tak se nezmenší (na SS mi to funguje). Zkousel jsem to v kodovani "windows-1250" i v "iso-8859-2" zde na webzdarmu. Na mem localhostu to funguje ve windows-1250 (v iso-8859-2 to nefunguje).
Prosim poradte mi nekdo
ja osobne bych si asi napsal funkci, ktera vezme retezec, nahradi vsechny hackovane a carkovane znaky za male (resp. velke), treba pomoci strtr(), a na zbytek pak pouzije strtolower() a vrati vysledek
$na_maly=StrToLower($retezec);
$na_maly=StrTr($na_maly, "ÁČĎÉĚÍĽĹŇÓÔŔŘŠŤÚŮÝŽ", "áčďéěíľĺňóôŕřšťúůýž");
Zkoušel jsem to na webzdarma a funguje to. Jde asi o to, že na webzdarma to jede celé na ISO. Pokud přeneseš třeba přes ftp soubor a tam to bude ve win kódování, tak to bude ve win kódování, i když tomu dáš hlavičku ISO. Prostě to š musí být v ISO. Zkoušel jsem to a fakt to funguje.
U tebe na lokale to funguje, protože PHP tam je nastavene na win.
Asi tak, doufám, že to pomůže.
Když tak by mělo pomoct set locale.
setlocale(LC_CTYPE, ...);
ovšem nevím, co dosadit za ty tři tečky. ale to setlocale ovlivní i funkci strtolower.
LC_TYPE - to je nastavení prostředí nevím to přesně, ale zkus
"cs", "czech", "cs_cz_iso8859-2" - bez záruky
Podle komentářů v manuálu
http://www.php.net/manual/cs/function.setlocale.php
by to mělo být asi
cs_CZ, cs_CZ.ISO8859-2'
Podle komentářů v manuálu
http://www.php.net/manual/cs/function.setlocale.php
by to mělo být asi
cs_CZ, cs_CZ.ISO8859-2'