[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