| imho.ws |
![]() |
|
|
|
# 1 |
|
Junior Member
Регистрация: 15.08.2005
Сообщения: 52
![]() |
Здравствуйте уважаемые.
Помогите мне пожалуйста, столкнулся я с непосильной для меня проблемой. Поставил я движок на смарти. На локальном сервере (WINXP) никаких проблем. Закачал на хостинг, выскочила проблема в лице локали... На локальном сервере даты у меня отображались на английском, нормально: Monday, 05.September 2005 А на сервере (хостинге) дата начала отображаться криво, вот как: їЮЭХФХЫмЭШЪ, 05.БХЭвпСап 2005 Самое интересное, что дата на сервере отображается на русском в кодировке ISO 8859-5. А страничка у меня в кодировке win-1251. Нашёл я настройки локали в своём скрипте, там и в помине нету русского языка... Помогите мне пожалуйста настроить скрипт так, чтоб он выводил дату на русском в кодировке win-1251 Или же на английском... $lct = LANG . "_" . strtoupper(LANG); @setlocale(LC_TIME, "$lct"); if(LANG=="de") @setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge'); if(LANG=="en") @setlocale (LC_ALL, 'en_EN', 'en'); if(LANG=="fr") @setlocale (LC_ALL, 'fr_FR@euro', 'fr_FR', 'fr'); |
|
|
|
|
# 3 |
|
Junior Member
Регистрация: 15.08.2005
Сообщения: 52
![]() |
гы... так я туда бегал уже.
просто в моём скрипте синтаксис другой. Мне взять удалить все настройки из своего скрипта касающиеся локали и написать (setlocale(LC_ALL, "ru_RU.CP1251")) так чтоль? подскажите именно как написать? а то я уже по разному пробовал! |
|
|
|
|
# 6 |
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Список установленных локалей на сервере, для русского языка можно получить выполнив на нем комманду:
locale -a | grep -i ru Ну и соответственно попробуйте все их подставить в функцию setlocale. Начните с тех, что имеют вроде cp1251 в названии.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
|
|
|
# 7 |
|
Guest
Сообщения: n/a
|
Установка CP1251 locale в Linux:
Чтобы понять что, как и где создает утилита localedef, обязательно прочитайте man localedef, потому что в разных linux'ах locale распологается либо в /usr/share/locale/, либо /usr/lib/locale/. Вся локаль, включая 1251 уже содержится в i18n, необходимо лишь сгенерить из нее LC которая ляжет в /usr/share/locale/ru_RU.CP1251 или в /usr/lib/locale/ru_RU.CP1251 (зависит от типа Linux), достаточно выполнить команду: localedef -c -i ru_RU -f CP1251 ru_RU.CP1251 после чего будет создана директория ru_RU.cp1251, как сказано выше: /usr/share/locale/ru_RU.cp1251 или /usr/lib/locale/ru_RU.cp1251 Все. Теперь просто переименуйте в ru_RU.CP1251 и проверьте наличие в системе: locale -a | grep ru_RU |