Autor Zpráva
Manny
Profil
Na úpravu řetězců, které se následně používají jako součást url mám tuto funkci:
function diakritika($vstup)        
    {
    $vstup = preg_replace('~[^\\pL0-9_\.]+~u', '-', $vstup);
    $vstup = trim($vstup, "-");
    $vstup = iconv("utf-8", "us-ascii//TRANSLIT", $vstup);
    $vstup = strtolower($vstup);
    $vstup = preg_replace('~[^-a-z0-9_\.]+~', '', $vstup);
    return $vstup;
    }
Problém je v tom, že na ostrém serveru mi to vynechává některé znaky (č, í), kdežto na localu to funguje perfektně. Může být problém ve verzi php?
preca2
Profil *
Zdravim,
může.

Jakub Vrána:
Pro spolehlivou funkčnost je potřeba nastavit proměnnou LC_CTYPE funkcí setlocale na kódování UTF-8, např. tedy cs_CZ.utf-8.
Manny
Profil
Takže by mělo stačit přidat do funkce toto?
setlocale(LC_CTYPE, 'cs_CZ.utf-8');

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: