[Comm] php5 LC_CTYPE strtolower

Dmitry Lebkov =?iso-8859-1?q?dima_=CE=C1_sakhalin=2Eru?=
Пн Ноя 17 02:25:48 MSK 2008


Ilis пишет:
> Не работает преобразование в нижний регистр кириллицы:
> 
> putenv("LC_TIME=ru_RU.utf8");
> putenv("LC_CTYPE=ru_RU.utf8");
> $loc=setlocale(LC_TIME, null);
> print "locLC_TIME=$loc\n";
> $loc=setlocale(LC_CTYPE, null);
> print "locLC_CTYPE=$loc\n";
> print strtolower("qQrRфФяЯ")."\n";
> print strftime("%c")."\n";
> 
> ==
> 
> locLC_TIME=ru_RU.utf8
> locLC_CTYPE=ru_RU.utf8
> qqrrфФяЯ
> Пнд 17 Ноя 2008 00:04:59
> 
> ==
> 
> Почему так?

Потому, что кирилица в UTF-8 -- multibyte encoding. Подробное
описание способов объезда смотреть здесь:

http://ru2.php.net/manual/ru/book.mbstring.php

Там два способа: использовать функции mb_str* вместо str* или
включить mbstring.func_overload.

-- 
WBR, Dmitry Lebkov







Подробная информация о списке рассылки community