Tohle nefunguje, nevíte proč? Vrátí zase malá písmena. Kódování win1250. Znaky anglické abecedy jsou převedeny v pořádku.
http://interval.cz/clanky/php-prace-s-retezci-a-php/
Radí tam použít strtr()
$velke = strtoupper(strtr ($text, "áäčďéěëíňóöřšťúůüýž","ÁÄČĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽ"));