PHP-функция strtolower () не может корректно работать с кириллицей в кодировке UTF-8, что есть очень нехорошо. Вот решение:
function strtolower_utf8(string $text){
$text = mb_convert_case($text, MB_CASE_LOWER, "UTF-8");
return $text;
}
Для корректной работы функции на сервере должна присутствовать библиотека mb_string.
Чуть более громоздкое решение без испоьлзования mb_string:
function strtolower_ru($text) {
$alfavitlover = array('ё','й','ц','у','к','е','н','г', 'ш','щ','з','х','ъ','ф','ы','в', 'а','п','р','о','л','д','ж','э', 'я','ч','с','м','и','т','ь','б','ю');
$alfavitupper = array('Ё','Й','Ц','У','К','Е','Н','Г', 'Ш','Щ','З','Х','Ъ','Ф','Ы','В', 'А','П','Р','О','Л','Д','Ж','Э', 'Я','Ч','С','М','И','Т','Ь','Б','Ю');
return str_replace($alfavitupper,$alfavitlover,strtolower($text));
}
Webmoney Z163628999150, R61715184597
|
02 Авг 2009
Есть решение еще проще
$output_str=iconv («CP1251»,"utf-8",strtolower (iconv («utf-8»,"CP1251",$input_str)));
04 Авг 2009
Но это, опять-же, будт работать только если на сервере присутствует iconv.
04 Авг 2009
..."с миру по нитке", а кто то найдет себе нужный вариант.
05 Фев 2010
Ребята, используйте ф-цию которая работает с ЮТВ кодировками mb_strtoupper и mb_strtolower, единственно для работы с ней в php.ini должна быть загрузка модуля extension=php_mbstring.dll
10 Фев 2010
Спасибо. выручил.