IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   Русская локаль, как настроить (https://www.imho.ws/showthread.php?t=92196)

inside22 07.09.2005 16:45

Русская локаль, как настроить
 
Здравствуйте уважаемые.
Помогите мне пожалуйста, столкнулся я с непосильной для меня проблемой.
Поставил я движок на смарти.
На локальном сервере (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');

RaZEr 07.09.2005 16:50

ru_RU.CP1251

http://www.php.net/setlocale

inside22 07.09.2005 17:00

гы... так я туда бегал уже.
просто в моём скрипте синтаксис другой.
Мне взять удалить все настройки из своего скрипта касающиеся локали и написать
(setlocale(LC_ALL, "ru_RU.CP1251"))
так чтоль?
подскажите именно как написать?
а то я уже по разному пробовал!

RaZEr 07.09.2005 17:04

Цитата:

Мне взять удалить все настройки из своего скрипта касающиеся локали и написать
(setlocale(LC_ALL, "ru_RU.CP1251"))
так чтоль?
Можно и так. Или у тебя сайт на 4-х языках?...

inside22 08.09.2005 09:43

Вообще то сайт будет на 3-х языках. (но я буду разные версии на разные поддомены вешать)
ru_RU.CP1251 - это разве не русская локаль?
А какие она языки поддерживает?

Hubbitus 08.09.2005 11:25

Список установленных локалей на сервере, для русского языка можно получить выполнив на нем комманду:
locale -a | grep -i ru
Ну и соответственно попробуйте все их подставить в функцию setlocale. Начните с тех, что имеют вроде cp1251 в названии.

Antarius 15.09.2005 13:03

Установка 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

RaZEr 15.09.2005 13:14

Копирайты не забыл?

http://unix1.jinr.ru/~lavr/locale-1251.html

inside22 15.09.2005 15:10

Огромное спасибо за такую полезную информаицю!
Весьма признателен Вам!


Часовой пояс GMT +4, время: 19:33.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.