strtolower na velké utf8 znaky s diakritikou

Dobrý den,

jsem línej, udělal jsem si funkci, která dokázala udělat "strtolower na velké utf8 znaky s diakritikou" ale bylo funkcí str_replace a pak jsem právě zjistil, že existuje tato funkce (strtolower), tak jsem jí chctěl použít a ona mi nefunguje.

Jak tedy použiju tuto funkci na velké utf8 znaky s diakritikou (Ú,Ů,Ž,Š,Č,Ř,Ď,Ť,Ň...)? na php.net jsem našel zázračnou funcki:

function strtolower_utf8($inputString) {
$outputString = utf8_decode($inputString);
$outputString = strtolower($outputString);
$outputString = utf8_encode($outputString);
return $outputString;
}

která mi moc nefunguje. Jde jen o moji zvědavost, klidně můžu použít to str_replace.
Asi jsem nepochopil, čeho chceš dosáhnout :)

Takhle: práce s řetězci v UTF8 není zase až tak jednoduchá, jak vypadá - proto se tomu vyhýbám kudy chodím ;)

Můžeš zkusit toto:
setlocale(LC_ALL, 'cs_CZ');
echo strtoupper("příliš žluťoučký kůň úpěl ďábelské ódy");
Ale je dost velká pravděpodobnost, že to nebude fungovat, protože zálaží na způsobu kompilace PHP...
dobře, ;) vystačím si se str_replace, kde si nahradím znaky ÁÉÍÓŮÝŽŠČŘĎŤŇ :)
dík
<HTML>O tom proc se chova UTF tak jak se chova jsem tu psal nedavno...

tobe ale postaci:
$str = mb_strtolower($str);</HTML>
:-(

<?php
$str = 'ŽŠČŘĎŤŇÁÉÍÓÚŮÝ';
$str = mb_strtolower($str);
echo $str;
?>

vypíše:

��������������

pošleš mi prosím link, na to jak a proč se chová UTF? dík
Mi ten tvůj skript hodí: ŽŠčřďŤňáéíóúůý

Tady máš povídání o UTF-8: http://cs.wikipedia.org/wiki/UTF-8

Jelikož některé znaky jsou v UTF-8 uloženy vícebajtově, nelze použít funkci strtolower(), která převádí jednobajtový znak na jiný jednobajtový znak v jiné znakové sadě.