Для русификации вывода времени в PHP удобно пользоваться функцией setlocale. То есть если прописать в коде что-то вроде:
1 2 |
setlocale(LC_ALL, "ru_RU.utf8" ); echo strftime ('%A, %d %B %G'); |
то мы получим вывод Вторник, 31 Июль 2012 по русски, а не по английски. Это весьма и весьма удобно. Но иногда setlocale не работает. То есть вместо русских дат выводятся английские.
Возможная причина – на вашем хостинге — не установлены нужные локали.
Если это шаред ( что маловероятно ) то нужно попросить саппорт установить нужные локали. Если это вдска или дедик – то нужно проверить какие локали есть и установить необходимые.
Установка локалей на ВДС
Проверить установленные локали можно командой
locale –a ( или удобнее
locale –a | grep ru ). Если нужных локалей нет то их нужно установить. По дебиан это:
1 2 |
aptitude install locales dpkg-reconfigure locales |
Выбираем и устанавливаем нужные локали. Я рекомендую выбрать только те что нужно. Если выбрать все, то установка их займет много времени, да и зачем они все нужны. Во втором окне нужно выбрать локаль по умолчанию. Я выбрал en_US.UTF-8.
Все, локали установлены, setlocale должен заработать.
Артур 2015-07-14