Проблема со строковыми функциями

no_santa

Снегур
Проблема со строковыми функциями

Привожу названия в достойный вид так:

PHP:
$title = ucfirst(trim(strtolower($title)));
Прикол - строки латиницей обрабатываются, а русские проскакивают мимо. Например:

tiTLe -> Title

загоЛОвок -> загоЛОвок

Впервые такое вижу... в чем дело, как исправить?

-~{}~ 18.08.09 20:58:

А... если что - юникод. Тут могла собака рыться? Если да, то как лечить?

-~{}~ 18.08.09 21:09:

По ходу действительно из-за юникода... Друзья, подскажите, как вылечить?
 

tf

крылья рулят
trim strtolower, поменяй местами
ага для utf поищи многобайтовые аналоги
 

no_santa

Снегур
в мануале не написано, но есть в комментах. Попробовал

utf8_encode(strtolower(utf8_decode( - просто ломает кодировку в ХЗЧТ
utf8_decode(strtolower(utf8_encode( - результат, как в теме

:(
 

DiMA

php.spb.ru
Команда форума
читать совсем не умеешь доку, даже когда показывают? обрати внимание на этот текст:

See Also

strtoupper() - Make a string uppercase
ucfirst() - Make a string's first character uppercase
ucwords() - Uppercase the first character of each word in a string
mb_strtolower() - Make a string lowercase

Если mb_**() не поможет или недоступна функция - используй strtr из комментов, о чем уже тоже было сказано.
 
Сверху