From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.2.5 X-Virus-Scanned: amavisd-new 2.5.3 (20071212) at sakhalin.ru Message-ID: <4920ABFC.8060002@sakhalin.ru> Date: Mon, 17 Nov 2008 09:25:48 +1000 From: Dmitry Lebkov User-Agent: Thunderbird 2.0.0.14 (X11/20080719) MIME-Version: 1.0 To: ALT Linux Community general discussions References: <91dc8dbf0811161114n18d2e883nf3b676c3fd466768@mail.gmail.com> In-Reply-To: <91dc8dbf0811161114n18d2e883nf3b676c3fd466768@mail.gmail.com> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Comm] php5 LC_CTYPE strtolower X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.10b3 Precedence: list Reply-To: ALT Linux Community general discussions List-Id: ALT Linux Community general discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Nov 2008 23:25:52 -0000 Archived-At: List-Archive: List-Post: 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