Логотип   Простое и понятное управление
  Уникальные возможности по настройке
  Open Server скачали уже 1 022 050 раз!

Форум

Добро пожаловать, Гость!

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

Обсуждение вопросов на другие темы связанные с веб-разработкой
rebroff
Сообщения: 12
C нами: 4 года 10 мес

Непрочитанное сообщение rebroff » 27 июл 2012, 11:31

Здравствуйте.

MODx Revolution 2.2.4 на OS 4.5.6.

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

- все без толку.

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

Аватара пользователя
Максим
Сообщения: 4878
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 27 июл 2012, 11:44

Нет такой локали в Windows. Попробуйте "ru_RU", а вообще местоположение задается в панели управления Windows.

rebroff
Сообщения: 12
C нами: 4 года 10 мес

Непрочитанное сообщение rebroff » 27 июл 2012, 11:58

В настройках Windows все ок.

setlocale(LC_ALL, "ru_RU");
пробовал.

Аватара пользователя
Максим
Сообщения: 4878
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 27 июл 2012, 12:11

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

rebroff
Сообщения: 12
C нами: 4 года 10 мес

Непрочитанное сообщение rebroff » 27 июл 2012, 12:23

Ну я не настолько нуб.
База, клиент - в UTF8.
Проблема только с выводом дат.

Аватара пользователя
Максим
Сообщения: 4878
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 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.

rebroff
Сообщения: 12
C нами: 4 года 10 мес

Непрочитанное сообщение rebroff » 27 июл 2012, 13:14

В том-то и проблема, что у меня первый echo выводит
Число: 27, месяц: ����, день недели: �������


Добавлено спустя 25 минут 13 секунд:
Оказывается я не одинокhttp://community.modx-cms.ru/blog/solutions/8060.html#comments

universelab
Сообщения: 7
C нами: 5 лет

Непрочитанное сообщение universelab » 27 июл 2012, 14:08

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

Аватара пользователя
Максим
Сообщения: 4878
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 27 июл 2012, 14:34

Причем тут OS? Он тут непричем.

rebroff
Сообщения: 12
C нами: 4 года 10 мес

Непрочитанное сообщение rebroff » 27 июл 2012, 14:47

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


Вернуться в «Оффтоп и другие темы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость