![]() |
Русская локаль, как настроить
Здравствуйте уважаемые.
Помогите мне пожалуйста, столкнулся я с непосильной для меня проблемой. Поставил я движок на смарти. На локальном сервере (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'); |
|
гы... так я туда бегал уже.
просто в моём скрипте синтаксис другой. Мне взять удалить все настройки из своего скрипта касающиеся локали и написать (setlocale(LC_ALL, "ru_RU.CP1251")) так чтоль? подскажите именно как написать? а то я уже по разному пробовал! |
Цитата:
|
Вообще то сайт будет на 3-х языках. (но я буду разные версии на разные поддомены вешать)
ru_RU.CP1251 - это разве не русская локаль? А какие она языки поддерживает? |
Список установленных локалей на сервере, для русского языка можно получить выполнив на нем комманду:
locale -a | grep -i ru Ну и соответственно попробуйте все их подставить в функцию setlocale. Начните с тех, что имеют вроде cp1251 в названии. |
Установка 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 |
Копирайты не забыл?
http://unix1.jinr.ru/~lavr/locale-1251.html |
Огромное спасибо за такую полезную информаицю!
Весьма признателен Вам! |
| Часовой пояс GMT +4, время: 19:33. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.