Vian
Guest
Странное поведени функции sscanf
Всем привет!
В мануале по PHP вычитал такой пример на ф-цию sscanf
<?php
// получаем серийный номер
list($serial) = sscanf("SN/2350001", "SN/%d");
// и дату изготовления
$mandate = "Январь 01 2000";
list($month, $day, $year) = sscanf($mandate, "%s %d %d");
echo "Узел $serial был изготовлен: $year-" . substr($month, 0, 3) . "-$day\n";
?>
На что она мне возвращает
Узел 2350001 был изготовлен: -Я-
Причем если в место "Январь" написать что-нить на англ. то все ok!
попробовал поставить setlocale(LC_ALL, 'RU'), локаль устанавливается но результат тот же.
Похоже эта ф-ция не корректно работает с рус.яз.
Или может у меня руки кривые?
Кто-нибудь может это прокоментировать?
Всем привет!
В мануале по PHP вычитал такой пример на ф-цию sscanf
<?php
// получаем серийный номер
list($serial) = sscanf("SN/2350001", "SN/%d");
// и дату изготовления
$mandate = "Январь 01 2000";
list($month, $day, $year) = sscanf($mandate, "%s %d %d");
echo "Узел $serial был изготовлен: $year-" . substr($month, 0, 3) . "-$day\n";
?>
На что она мне возвращает
Узел 2350001 был изготовлен: -Я-
Причем если в место "Январь" написать что-нить на англ. то все ok!
попробовал поставить setlocale(LC_ALL, 'RU'), локаль устанавливается но результат тот же.
Похоже эта ф-ция не корректно работает с рус.яз.
Или может у меня руки кривые?
Кто-нибудь может это прокоментировать?