В общем поставил php-fpm + nginx
последний глюк в том, что вывод php date/strftime месяц и день не хочет на кириллице
вывод locale -a говорит, что ru_RU.utf8 есть,
в /etc/default/locale поставил LANG=ru_RU.UTF-8
всё равно ничего, куда можно капнуть?
Всё, проблема решилась.
php-fpm был в кчрут, поэтому доступа к локалям он вообще не имел,
перенёс папку с лоалями в кчрут и их настройки. Всё заработало, выводит теперь кириллицей.
Pavel K: конечно OnYourLips дело говорит, пользователь приходит, вы сразу снимаете ЕГО время и можете сразу с серверным сравнить и вывести верное для него
OnYourLips: пользователь в данный момент не при чём т.к. мне именно на сервере нужно. Была бы задача сделать у пользователя я бы сделал так, как Вы и написали ниже в ответах.
Цепляем локаль из операционки:
setlocale(LC_ALL,"russian");
Помним, что не все функции работы с датами понимают локали.
Используем strftime("%Y-%m-%d").
Но баги все-равно возможны.
Поэтому вывод даты в символьном виде(названия месяцев) - лучше обрабатывать через массив где задать соответствия номера месяца=>название месяца.
Хочеться всё таки способ, что бы локаль сама бралась из операционки.
setlocale(LC_ALL,"russian");
"russian" по-моему нет такой, скорее всего ru_RU.UTF-8
Есть такая локаль. Кодировку при необходимости можно менять через iconv('windows-1251','utf-8',$val)
В случае с windows это делать придется. Так что проще и надежней через массив. Ввод вывод же у вас в UTF-8? А Windows работает через cp-1251.
Максим Носачов: про Виндовс вообще ни слова не было, у меня Юбунту (в тегах отмечено)
ещё и через iconv менять... это вообще ппц =)
у меня выводятся то всё правильно если писать кириллицей, т.е. кодировка явно не при чём..