Написал свою таким образом. Прошу не пинать) В пхп не мастер
function my_ucvords($str)
{
$a = substr($str, 0, 1);
$b = substr($str, 1);
$tr = array(
"а"=>"А","б"=>"Б","в"=>"В","г"=>"Г","д"=>"Д",
"е"=>"Е","ё"=>"Ё","ж"=>"Ж","з"=>"З","и"=>"И",
"к"=>"К","л"=>"Л","м"=>"М","н"=>"Н","о"=>"О",
"п"=>"П","р"=>"Р","с"=>"С","т"=>"Т","у"=>"У",
"ф"=>"Ф","х"=>"Х","ц"=>"Ц","ч"=>"Ч","ш"=>"Ш",
"щ"=>"Щ","э"=>"Э","ю"=>"Ю","я"=>"Я",
"a"=>"A","b"=>"B","c"=>"C","d"=>"D","e"=>"E",
"f"=>"F","g"=>"G","h"=>"H","i"=>"I","j"=>"J",
"k"=>"K","l"=>"L","m"=>"M","n"=>"N","o"=>"O",
"p"=>"P","q"=>"Q","r"=>"R","s"=>"S","t"=>"T",
"u"=>"U","v"=>"V","w"=>"W","x"=>"X","y"=>"Y",
"z"=>"Z",
);
$a = strtr($a,$tr);
return $a.$b;
}
Но опять же иногда непонятно почему проблемы с кодировкой возникают. Подскажите как можно добиться универсальности в этом. Чтобы работало везде главное.