не работает ф-ция strtoupper()

ayrat9

Новичок
не работает ф-ция strtoupper()

не работает ф-ция strtoupper()
---------------
$name1=strtoupper($name1);
---------------
Вместо заглавных букв наоборот, строчные выдает
Хостинг: Agava
В домашних (Complex Denwer) условиях проблем нет.

В чем может быть дело?
 

ayrat9

Новичок
спасибо всем.

помогло следующее:
----------
setlocale (LC_ALL, "ru_RU.CP1251");
----------
 

Xrobak

Guest
возможно в тему: у меня украинские буквы "і" и "ї" не переводятся в верхний регистр на пхп версии 4.1.2, зато на локалхосте стоит пхп версии 4.3.10 и там все нормально работает.
Можно заставить версию 4.1.2 переводить эти буквы в верхний регистр? Если да, то как? Если нет и нужен только апгрейд до более новой версии - ок.

ЗЫ: прописывал сетлокале и ничего не помогает.
 

tristram

Guest
PHP:
$letters = array(
"a"=>"A",
"b"=>"B",
//...
"z"=>"Z"
);
function mystrtoupper($str)
{
 global $letters;
 return str_replace(array_keys($letters),array_values($letters),$str);
}
function mystrtoupper($str)
{
 global $letters;
 return str_replace(array_values($letters),array_keys($letters),$str);
}
это я на ходу придумал, возможно есть лучшее решение
 

SelenIT

IT-лунатик :)
tristram, конечно, есть - [m]strtr[/m]. Но лучше потратить время и усилия на настройку локали - это вполне себя окупит, т.к. локаль влияет не только на строковые ф-ции, но и на регулярки и т.п.
 
Сверху