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

Не могу установить локаль

Добавлено: 27 июл 2012, 11:31
rebroff
Здравствуйте.

MODx Revolution 2.2.4 на OS 4.5.6.

Не могу установить русскую локаль. Вместо "Июль-2012" получаю "����-2012".
В настройках цмс ставил и "по-умолчанию"(т.е. системная локаль), и "ru_RU".
Пробовал вызывать сниппет с кодом
setlocale(LC_ALL, "ru_RU.UTF-8");
- все без толку.

Как победить?

Добавлено: 27 июл 2012, 11:44
Максим
Нет такой локали в Windows. Попробуйте "ru_RU", а вообще местоположение задается в панели управления Windows.

Добавлено: 27 июл 2012, 11:58
rebroff
В настройках Windows все ок.
setlocale(LC_ALL, "ru_RU");
пробовал.

Добавлено: 27 июл 2012, 12:11
Максим
Ну так значит у вас в браузере просто кодировка не выставлена верно. Установите windows-1251 или utf-8 (смотря в чем там у вас работает) в title страницы или выберите в меню браузера, и вы увидите буквы.

Добавлено: 27 июл 2012, 12:23
rebroff
Ну я не настолько нуб.
База, клиент - в UTF8.
Проблема только с выводом дат.

Добавлено: 27 июл 2012, 12:28
Максим
Ну вот смотрите:
<?php
header ("Content-Type: text/html; charset=windows-1251");
setlocale(LC_ALL, 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251');
echo strftime('Число: %d, месяц: %B, день недели: %A');
echo date('l jS \of F Y h:i:s A');
?>
Вот я установил русскую локаль.
Первое echo выведет по русски, второе echo будет всё равно на английском, видимо на функцию date локаль не влияет (но мне кажется я себе раньше это настраивал, через панель управления windows в региональных настройках, часовых поясах и т.д.).

Ну а насчет Utf-8 php говорит что не умеет с ней работать, используйте iconv, mb_convert и прочие гадости. PHP как бы никогда UTF-8 не поддерживал, а 2 года назад стало понятно что вообще никогда поддерживать уже не будет. Вот такой плохой недоязык php.

Добавлено: 27 июл 2012, 13:14
rebroff
В том-то и проблема, что у меня первый echo выводит
Число: 27, месяц: ����, день недели: �������
Добавлено спустя 25 минут 13 секунд:
Оказывается я не одинокhttp://community.modx-cms.ru/blog/solut ... l#comments

Добавлено: 27 июл 2012, 14:08
universelab
Оказывается я не одинокhttp://community.modx-cms.ru/blog/solutions/8060.html#comments
Да, и у меня та же хрень. MODX Revo на OS выводит глюк в кодировке с датой, на хостинге в этом плане - всё пучком. Выходит, что нужно разбираться в OS. Сам особо не спец в серверах, по этому не стал задавать вопросы в которых не разбираюсь. Как решить эту проблему - до сих пор остаётся загадкой.

Добавлено: 27 июл 2012, 14:34
Максим
Причем тут OS? Он тут непричем.

Добавлено: 27 июл 2012, 14:47
rebroff
Максим, я поставил и настроил отдельно PHP/MySQL/Apache. Те же версии(за релизы не ручаюсь), что и в OS. Все работает нормально.