Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Функция setlocale
 
 автор: arreyofspace   (20.09.2008 в 16:33)   письмо автору
 
 

Почему дату показывает на английском

вот моя Функция:


public function listBox($suffisso,$disabled="")
        {
            
            echo setlocale(LC_ALL, 'RU');
        
        echo "\t<select name= 'giorno".$suffisso."' ".$disabled." class='FacetSelect'>\n";
        for($i=1; $i<=31; $i++) 
        echo "\t\t<option value='".$i."' ".($i==strftime("%d",$this->data)?"selected":"").">$i</option>\n";
       
        
        echo "\t</select>\n\t<select name='mese".$suffisso."' ".$disabled." class='FacetSelect'>\n";
        for($i=1; $i<=12; $i++) 
        echo "\t\t<option value='".$i."' ".($i==strftime("%m",$this->data)?"selected":"").">".ucwords(strftime("%B",mktime(0,0,0,$i,1,0)))."</option>\n";
        
        
        echo "\t</select>\n\t<select name='anno".$suffisso."' ".$disabled." class='FacetSelect'>\n";
        $anno = strftime("%Y",$this->data);
        for($i=$anno-4; $i<=$anno+6; $i++)
        echo "\t\t<option value='".$i."' ".($i==$anno?"selected":"").">$i</option>\n";
  echo "\t</select>\n";
 }

  Ответить  
 
 автор: mihdan   (20.09.2008 в 17:00)   письмо автору
 
   для: arreyofspace   (20.09.2008 в 16:33)
 

<?php
setlocale
(LC_CTYPE"ru_RU.CP1251");
?>

  Ответить  
 
 автор: arreyofspace   (20.09.2008 в 18:08)   письмо автору
 
   для: mihdan   (20.09.2008 в 17:00)
 

Не работает названия на англ

  Ответить  
 
 автор: Незнайка   (20.09.2008 в 19:51)   письмо автору
 
   для: arreyofspace   (20.09.2008 в 18:08)
 

Какие названия? (чего, кого?)

  Ответить  
 
 автор: Trianon   (20.09.2008 в 20:38)   письмо автору
 
   для: Незнайка   (20.09.2008 в 19:51)
 

названия месяцев.

Чего сказать-то хотели?

  Ответить  
 
 автор: arreyofspace   (20.09.2008 в 21:02)   письмо автору
 
   для: Trianon   (20.09.2008 в 20:38)
 

Да - названия месяцев на англ., извините думал из формы все понятно

  Ответить  
 
 автор: Trianon   (20.09.2008 в 21:32)   письмо автору
 
   для: arreyofspace   (20.09.2008 в 21:02)
 

так как setlocale(LC_ALL, "ru_RU.CP1251"); подействовало?

  Ответить  
 
 автор: arreyofspace   (21.09.2008 в 12:31)   письмо автору
 
   для: Trianon   (20.09.2008 в 21:32)
 

Нет

  Ответить  
 
 автор: sim5   (21.09.2008 в 12:41)   письмо автору
 
   для: arreyofspace   (21.09.2008 в 12:31)
 

А почему она должна помочь?

  Ответить  
 
 автор: arreyofspace   (21.09.2008 в 15:59)   письмо автору
 
   для: sim5   (21.09.2008 в 12:41)
 

А что может помочь????????

  Ответить  
 
 автор: Незнайка   (21.09.2008 в 16:19)   письмо автору
 
   для: Trianon   (20.09.2008 в 20:38)
 

>>Чего сказать-то хотели?
Кому?

  Ответить  
 
 автор: arreyofspace   (21.09.2008 в 15:58)   письмо автору
 
   для: arreyofspace   (20.09.2008 в 16:33)
 

Кто нибуть знает как сделать вывод месяцев на рус.

  Ответить  
 
 автор: Незнайка   (21.09.2008 в 16:17)   письмо автору
 
   для: arreyofspace   (21.09.2008 в 15:58)
 

Возможно это Вас заинтересует.


<?php ## Использование strftime().
// Активизируем текущую локаль (иначе дата будет на английском).
setlocale(LC_ALL'');
// Выводим 2 предложения.
echo strftime("%B %Y года, %d число. День %A, время  %H:%M.");
?>

  Ответить  
 
 автор: Trianon   (21.09.2008 в 16:41)   письмо автору
 
   для: Незнайка   (21.09.2008 в 16:17)
 

>Кому?

Хоть кому-нибудь.

>// Активизируем текущую локаль (иначе дата будет на английском).
>setlocale(LC_ALL, '');

Почему Вы решили, что текущая системная локаль окажется русской?

  Ответить  
 
 автор: Незнайка   (21.09.2008 в 17:14)   письмо автору
 
   для: Trianon   (21.09.2008 в 16:41)
 

>>Почему Вы решили, что текущая системная локаль окажется русской?
Я лишь предположил. Какая текущая системная локаль известно только автору.
Не так ли Trianon?

  Ответить  
 
 автор: arreyofspace   (21.09.2008 в 17:47)   письмо автору
 
   для: Незнайка   (21.09.2008 в 16:17)
 

>// Активизируем текущую локаль (иначе дата будет на английском).
>setlocale(LC_ALL, '');


Текущая локаль оказалась англ. (Я так думаю - потому что название месяца осталось на англ. )

  Ответить  
 
 автор: Незнайка   (21.09.2008 в 18:54)   письмо автору
 
   для: arreyofspace   (21.09.2008 в 17:47)
 

А код который написал Drago (в чистом виде без вашего кода) Вы пробовали?

  Ответить  
 
 автор: Drago   (21.09.2008 в 17:02)   письмо автору
 
   для: arreyofspace   (21.09.2008 в 15:58)
 

В разных системах, название локалей может отличаться. Попробуйте указать несколько названий сразу:

<?php 
setlocale
(LC_ALL'ru''ru_RU.cp1251'); 
echo 
strftime("%B %Y года, %d число. День %A, время  %H:%M."); 
?>

  Ответить  
 
 автор: arreyofspace   (21.09.2008 в 17:43)   письмо автору
 
   для: Drago   (21.09.2008 в 17:02)
 

Есть несколько вопросов

1. Как узнать текущую локаль ????
2. Если текущая локаль англ. как поменять на рус ?????
3. Как узнать названия локаклей в моей системе ?????

Если ково интересует система UBUNTU 8.04, Apache2, PHP5, MYSQL 5.01 язык системы англ.

  Ответить  
 
 автор: Drago   (21.09.2008 в 22:21)   письмо автору
 
   для: arreyofspace   (21.09.2008 в 17:43)
 

Посмотрите здесь
http://www.opennet.ru/man.shtml?topic=locale&category=1&russian=0

  Ответить  
 
 автор: arreyofspace   (22.09.2008 в 10:12)   письмо автору
 
   для: Drago   (21.09.2008 в 22:21)
 

Спасибо большое Drago за силку, всьо работает - проблема была из системой.
Решил вот так:
- В командной строке линукс командой locale посмотрел какие локали проинсталированы окозалось что

LANG=it_IT.UTF-8
LC_CTYPE="it_IT.UTF-8"
LC_NUMERIC="it_IT.UTF-8"
LC_TIME="it_IT.UTF-8"
LC_COLLATE="it_IT.UTF-8"
LC_MONETARY="it_IT.UTF-8"
LC_MESSAGES="it_IT.UTF-8"
LC_PAPER="it_IT.UTF-8"
LC_NAME="it_IT.UTF-8"
LC_ADDRESS="it_IT.UTF-8"
LC_TELEPHONE="it_IT.UTF-8"
LC_MEASUREMENT="it_IT.UTF-8"
LC_IDENTIFICATION="it_IT.UTF-8"
LC_ALL=

поменял на ru_RU.UTF-8 подействувало.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования