php strtolower utf 8



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>

Ответ от J()KER[гуру]
тестироровать надо на локальном сервере с PHP

Ответ от Илья[гуру]
предположу что дело в том, что strtolower() не работает корректно с юникодом попробуй заменить strtolower(substr($res, 1)) на mb_convert_case($text, MB_CASE_LOWER, "UTF-8"); аналогично и для substr(), заменить на mb_substr($res, 1)

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: PHP, это не работает на хостинге серва? Вся строка из заглавных букв. $res = $res[0] . strtolower(substr($res, 1));
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*