22:37

локаль

A kid from The Ural's
Доброго времени суток, возникла проблем с локалью. Задумка: ковертировать английские названия месяцев в русские. Но почему то не работает

читать дальше

@темы: PHP

Комментарии
15.04.2008 в 23:15

А где у вас в коде эта самая конвертация?
16.04.2008 в 00:31

setlocale(LC_TIME, "ru_RU");
$date = strftime("%A %B %d %Y", $row['time']);

Что-то вроде этого.
16.04.2008 в 21:21

Цветной мир
Аффтар! Хм-м... Нафиг весь листинг тогда давать было?
Терь по сути. Поглядим man функции setlocale():
--------
Setlocale возвращает имя вновь установленной локали или FALSE если системе не поддерживает установку локали, указанная локаль не существует или передано недопустимое имя категории. Недопустимое имя категории также вызывает предупредение.
--------
Отсюда, возможность первая и вторая: либо система вообще не имеет возможности сменить локаль, либо указано неверное имя локали. Из того же мана видно, что вторым и последующим аргументамт можно передавать синонимы локали. Поэтому предлага попробовать:
$set_loc = setlocale(LC_ALL, 'ru_RU', 'RU', 'ru', 'RUS', 'rus');
echo $set_loc;
Так можно (если угадали), посмотреть, какой вариант верный для данной системы.
16.04.2008 в 22:23

A kid from The Ural's
Kuroi Kitsune

$date = strftime("%A %B %d %Y", $row['time']);
Это сработало:) Значит это и есть конвертация?
Понятно почему %d %Y
Но что такое %A %B?
17.04.2008 в 00:53

Читаем www.php.net/manual-lookup.php?pattern=strftime и просвещаемся
17.04.2008 в 21:29

Цветной мир
Kuroi Kitsune нее могу не согласиться! и хочу добавить, что онлайн-доки на сайте пхп - самая пользительная штука, т.к. содержат ещё и пользовательские комменты с примерами
01.02.2011 в 03:48

Помогите... Не работает вывод русского месяца
скрипт тест локале
Default C (January), settting ru_RU.UTF8 (Январь) ru_RU.UTF-8 (Январь) ru_RU.utf8 (Январь) ru_RU.utf-8 (Январь) ru_RU.CP-1251 (������;) ru_RU.CP1251 (������;) ru_RU.cp-1251 (������;) ru_RU.cp1251 (������;)

но при вводе $set_loc = setlocale(LC_ALL, 'ru_RU', 'RU', 'ru', 'RUS', 'rus'); не помогает
function setEventCalender()
{
if(isset($_GET['month']) && isset($_GET['year']))
{
$input_month = intval($_GET['month']);
$input_year = intval($_GET['year']);
}
else
{
$input_month = date("m");
$input_year = date("Y");
}


$month = date("F",mktime(0,0,0,$input_month,date("d"),$input_year));
$today = date("d",mktime(0,0,0,$input_month,date("d"),$input_year));
$year = date("Y",mktime(0,0,0,$input_month,date("d"),$input_year));
$offset = date("w",mktime(0,0,0,$input_month,1,$input_year))+1;
$total = date("t",mktime(0,0,0,$input_month,1,$input_year));

if($input_month <= 1)
{
$prev_m = 12;
$prev_y = $input_year-1;
}
else
{
$prev_m = $input_month-1;
$prev_y = $input_year;
}

if($input_month >= 12)
{
$next_m = 1;
$next_y = $input_year+1;
}
else
{
$next_m = $input_month+1;
$next_y = $input_year;
}

for($j=0;$j<$offset;$j++)
{
$date[] = " ";
}
for($i=1;$i<=$total;$i++)
{
if($i == $today)
$date[] = $i;
else
$date[] = $i;
}

Расширенная форма

Редактировать

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail