* [Comm] php5 LC_CTYPE strtolower
@ 2008-11-16 19:14 Ilis
2008-11-16 23:25 ` Dmitry Lebkov
2008-11-17 7:09 ` Yura Kalinichenko
0 siblings, 2 replies; 4+ messages in thread
From: Ilis @ 2008-11-16 19:14 UTC (permalink / raw)
To: ALT Linux Community general discussions
Не работает преобразование в нижний регистр кириллицы:
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
==
Почему так?
--
Кругликов Илья
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Comm] php5 LC_CTYPE strtolower
2008-11-16 19:14 [Comm] php5 LC_CTYPE strtolower Ilis
@ 2008-11-16 23:25 ` Dmitry Lebkov
2008-11-17 7:09 ` Yura Kalinichenko
1 sibling, 0 replies; 4+ messages in thread
From: Dmitry Lebkov @ 2008-11-16 23:25 UTC (permalink / raw)
To: ALT Linux Community general discussions
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Comm] php5 LC_CTYPE strtolower
2008-11-16 19:14 [Comm] php5 LC_CTYPE strtolower Ilis
2008-11-16 23:25 ` Dmitry Lebkov
@ 2008-11-17 7:09 ` Yura Kalinichenko
2008-11-17 7:31 ` Ilis
1 sibling, 1 reply; 4+ messages in thread
From: Yura Kalinichenko @ 2008-11-17 7:09 UTC (permalink / raw)
To: ALT Linux Community general discussions
Ilis пишет:
> Не работает преобразование в нижний регистр кириллицы:
Для корректной работы с UTF следует использовать mb_-функции (пакет
php5-mbstring). Для вашего случая работает следующее:
<?php
$CHARSET="UTF-8";
$INT_CHARSET="UTF-8";
$LANG="ru_RU.UTF-8";
// main()
mb_internal_encoding($INT_CHARSET);
setlocale(LC_ALL, $LANG);
echo "<HTML><HEAD><meta content='text/html; charset=$CHARSET' http-equiv='Content-Type'><TITLE>Test</TITLE><BODY>";
echo 'Current PHP version: ' . phpversion() . "<BR>";
print mb_convert_case ( "qQrRфФяЯ", MB_CASE_LOWER);
?>
</BODY>
</HTML>
--
SY,
Yura Kalinichenko
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Comm] php5 LC_CTYPE strtolower
2008-11-17 7:09 ` Yura Kalinichenko
@ 2008-11-17 7:31 ` Ilis
0 siblings, 0 replies; 4+ messages in thread
From: Ilis @ 2008-11-17 7:31 UTC (permalink / raw)
To: ALT Linux Community general discussions
17 ноября 2008 г. 4:25 пользователь Dmitry Lebkov написал:
> Потому, что кирилица в UTF-8 -- multibyte encoding. Подробное
> описание способов объезда смотреть здесь:
>
> http://ru2.php.net/manual/ru/book.mbstring.php
17 ноября 2008 г. 12:09 пользователь Yura Kalinichenko написал:
>
> Для корректной работы с UTF следует использовать mb_-функции (пакет
> php5-mbstring). Для вашего случая работает следующее:
>
Да, я уже понял, что это из-за юникода, потому что даже в примерах по
strtolower это упоминается.
Сегодня попробую... За пример спасибо!
--
Кругликов Илья
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-11-17 7:31 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-11-16 19:14 [Comm] php5 LC_CTYPE strtolower Ilis
2008-11-16 23:25 ` Dmitry Lebkov
2008-11-17 7:09 ` Yura Kalinichenko
2008-11-17 7:31 ` Ilis
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git