Strtolower не работает с русскими буквами utf
Автор Арсен Арутюнян задал вопрос в разделе Другие языки и технологии
PHP, это не работает на хостинге серва? Вся строка из заглавных букв. $res = $res[0] . strtolower(substr($res, 1)); и получил лучший ответ
Ответ от Николай Веселуха[гуру]
<?php $source = \'маМа Мыла рАму\'; $tolower = mb_strtolower($source, "utf-8"); $toupper = mb_strtoupper($source, "utf-8"); $string = mb_substr($toupper, 0, 1, "utf-8") . mb_substr($tolower, 1, strlen($tolower), "utf-8"); ?> <!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8" /> <title></title> </head> <body> <?php echo $source . "<br />"; echo $tolower . "<br />"; echo $toupper . "<br />"; echo $string . "<br />"; ?> </body> </html>
тестироровать надо на локальном сервере с PHP
предположу что дело в том, что strtolower() не работает корректно с юникодом попробуй заменить strtolower(substr($res, 1)) на mb_convert_case($text, MB_CASE_LOWER, "UTF-8"); аналогично и для substr(), заменить на mb_substr($res, 1)