Страница 2 из 2

Добавлено: 27 июл 2012, 15:00
Максим
И что? Я могу внести неправильные настройки конфигов, неправильно создать базу, указать черт знает какие кодировки и установить то что вы там ставите - оно не будет работать правильно. В то же время я могу всё сделать правильно и всё будет работать. Я говорю о любом наборе ПО, будь то OS или если ставить всё отдельно.

Смысл моих слов в том, что если какие-то настройки php или системы не подходят вашему софту или вы его неправильно установили, то это означает что виноваты только вы сами, а не OS. Уж что-то, а Open Server до работы вашей CMS тут уж точно не каким-боком. Обращайтесь к разработчикам, они вам подскажут где и что надо настроить, это же их продукт.

Если говорить языком младенца, то у вас глюки с PHP, как тут можно пенять на Open Server? Где логика? Ваш сайт работает на PHP и Apache, его не Open Server открывает. Понимаете? Нет? Вам надо разбираться в вопросах установки вашего софта и возможно в настройках PHP, но никак не Open Server. OS - это просто программа, которая управляет запуском и остановкой. Остальное всё - это модули и настраивайте их как душа пожелает :-)

Добавлено: 27 июл 2012, 15:10
rebroff
Максим писал(а):OS - это просто программа, которая управляет запуском и остановкой. Остальное всё - это модули и настраивайте их как душа пожелает
Ну, если нет никаких предустановок, то да.

Добавлено: 27 июл 2012, 18:13
universelab
Так почему именно на OS эта проблема? На других ведь серверах дата отображается нормально.
Какие модули и какие настройки?

Добавлено: 28 июл 2012, 11:11
rebroff
universelab писал(а):Так почему именно на OS эта проблема? На других ведь серверах дата отображается нормально.
Какие модули и какие настройки?
Не кипятись. Разберемся. ;)

Добавлено: 04 окт 2012, 04:10
Dronnis
Максим, ваш OS не в чём не виноват с датой, всё куда проще, и она нормально работеат.

Для тек у кого траблы с датой и тд.
Если у вас файлы в ANSI кодировке то дата на Windows выставляется.
setlocale(LC_ALL, 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251');
А если у вас файлы в UTF-8 кодировке то выставляется вот так.
setlocale(LC_ALL, 'ru_RU.UTF-8', 'rus_RUS.UTF-8', 'Russian_Russia.UTF-8');
Также в Windows должен правильно настроен в Панель управления\Языки и Регинальные стандарты .
На некоторых WINDOWS не работает определение UTF-8 по какой причине хз, то используем ко 65001, если совсем беда и UTF-8 не хочет работать то тогда дату переводим в CP1251 и далее по старинке костылём типо iconv('Windows-1251', 'UTF-8', $value);

Re:

Добавлено: 26 июл 2023, 11:51
webdevrus
Dronnis писал(а): 04 окт 2012, 04:10 Максим, ваш OS не в чём не виноват с датой, всё куда проще, и она нормально работеат.

Для тек у кого траблы с датой и тд.
Если у вас файлы в ANSI кодировке то дата на Windows выставляется.
setlocale(LC_ALL, 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251');
А если у вас файлы в UTF-8 кодировке то выставляется вот так.
setlocale(LC_ALL, 'ru_RU.UTF-8', 'rus_RUS.UTF-8', 'Russian_Russia.UTF-8');
Также в Windows должен правильно настроен в Панель управления\Языки и Регинальные стандарты .
На некоторых WINDOWS не работает определение UTF-8 по какой причине хз, то используем ко 65001, если совсем беда и UTF-8 не хочет работать то тогда дату переводим в CP1251 и далее по старинке костылём типо iconv('Windows-1251', 'UTF-8', $value);
Благодарю!

На Ubuntu с этим проще, но впервые потребовалась русская локализация при тестировании на Windows. Раньше в эти дебри не вникал.

Моё решение для Laravel (bootstrap/app.php):
if (PHP_OS === 'WINNT') {
    setlocale(LC_ALL, 'ru_RU.UTF-8', 'rus_RUS.UTF-8', 'Russian_Russia.UTF-8');
}
Будет работать только с strftime.

В Carbon\Carbon использую метод formatLocalized():
<?php

// 2023, Июль
now()->formatLocalized('%Y, %B');

// 2023, July
now()->format('Y, F');

P.S. Если что извиняюсь за поднятие старой темы, она одна из первых в гугле.