Jenom dodávám, že pouhé bezduché použití funkce ucfirst nestačí v případě, že řetězec začíná písmenkem s diakritikou.
Ale hned níže na stránce doporučené Wikanem najdeš v prvním uživatelském příspěvku funkci my_mb_ucfirst($str).
Ta nedělá nic jiného, než že první znak zvětší pomocí funkce mb_strtoupper.