Автор Тема: uc() для кирилицы?  (Прочитано 5191 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
uc() для кирилицы?
« : 10 Сентября 2003, 11:03:51 »
Ребят, позвольте еще вопросик?
uc() не работает для unicod\'ов? Как можно поднять регистр для кирилицы?
СПАСИБО!

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
uc() для кирилицы?
« Ответ #1 : 10 Сентября 2003, 11:09:56 »
В FAQ лежит твой ответ
The documentations is your friend

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
uc() для кирилицы?
« Ответ #2 : 10 Сентября 2003, 11:20:53 »
NeoNox
Сори за невнимательность.
СПАСИБО!

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
uc() для кирилицы?
« Ответ #3 : 10 Сентября 2003, 11:30:24 »
NeoNox
В FAQ нашел только это http://wiki.webscript.ru/PFRERegister
Или ты имеешь ввиду, что стоит поискать какую нить либу на CPAN?

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
uc() для кирилицы?
« Ответ #4 : 10 Сентября 2003, 11:50:11 »
locale -a
nlsinfo
ls /usr/lib/nls/loc
ls /usr/lib/locale
ls /usr/lib/nls
ls /usr/share/locale

проверь данные команды. одна из них должна вывести список установленных у тебя локалей. если не найдешь нужную - добавь.

после этого в скрипте:
---------------------
....
use locale;
use POSIX qw/locale_h/;

setlocale(LC_CTYPE, "здесь впиши нужную локаль");
...
------------------------

ps: информация взята отсюда - perldoc perllocale
0 OK, 0:1

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
uc() для кирилицы?
« Ответ #5 : 10 Сентября 2003, 12:11:21 »
ondr
Это все что есть из ru...
--
ru_RU.CP1251
ru_RU.CP866
ru_RU.ISO8859-5
ru_RU.ISO_8859-5
ru_RU.KOI8-R
ru_SU.CP1251
ru_SU.CP1251.old
ru_SU.CP866
ru_SU.ISO8859-5
ru_SU.ISO_8859-5
ru_SU.KOI8-R

Пробовал и CP1251 и KOI8-R -- uc() наоборот скидывает регистр :)

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
uc() для кирилицы?
« Ответ #6 : 10 Сентября 2003, 12:13:57 »
Цитировать
kosm:
Пробовал и CP1251 и KOI8-R -- uc() наоборот скидывает регистр


набери в терминале команду locale
что ты используешь?
0 OK, 0:1

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
uc() для кирилицы?
« Ответ #7 : 10 Сентября 2003, 12:18:45 »
ondr
Цитировать
bash: locale: command not found

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
uc() для кирилицы?
« Ответ #8 : 10 Сентября 2003, 12:57:00 »
небось freeBSD пользуешь? Там такой фичи "locale" и вправду нету.

тебе нужно выяснить, в какой кодировке ты сидишь. и что более важно, какую кодировку ты собираешься использовать в своих скриптах. как выяснишь, сделай как я описал, а лучше прочти perldoc perllocale.
0 OK, 0:1

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
uc() для кирилицы?
« Ответ #9 : 10 Сентября 2003, 13:03:34 »
ondr
Ага, у хостера фря стоит. Сейчас попробую выяснить про кодировку у их хелпдеска...
А кодировка у меня везде win1251 используется.

Спасибо!

PS: Пошел читать perldoc...

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
uc() для кирилицы?
« Ответ #10 : 10 Сентября 2003, 14:56:30 »
ondr
Они ответили, что установленная локаль - KOI8-R, и установка локали ru_RU.CP1251 у них невозможна. Но как вариант, могут перенести на другую площадку, где установлена 1251.
Вопрос. Если у них будет установлена консоль 1251, то
--
use locale;
use POSIX qw/locale_h/;
setlocale(LC_CTYPE, "ru_RU.CP1251");
--
меня спасет? Т.е. все дело было в том, что у них установлена KOI?

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
uc() для кирилицы?
« Ответ #11 : 10 Сентября 2003, 15:04:54 »
Цитировать
kosm:
Т.е. все дело было в том, что у них установлена KOI?


Нет. Все дело в том, что у них ИМХО(!) безграмотные админы, поскольку для решения проблемы необходимо и достаточно, всего лишь наличия файлика ru_RU.CP1251 (может по другому называться), в директории /usr/share/locale (это под freeBSD).

Если на новой площадке локаль установленна, то все будет нормально. С этим вообще никаких проблем не должно быть!
0 OK, 0:1

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
uc() для кирилицы?
« Ответ #12 : 10 Сентября 2003, 15:36:25 »
ondr
Дык есть он (файлик ru_RU.CP1251) в той директории. Я пробовал его подключать - никаких изменений. Мож чего не так отконфигурено?

А на новой площадке, с установленой win1251, никаких танцев с бубном уже не придеться делать? Т.е. uc() будет работать как и положено без:
--
use locale;
use POSIX qw/locale_h/;
setlocale(LC_CTYPE, "ru_RU.CP1251");
--
?

СПАСИБО ЕЩЕ РАЗ ЗА ПОМОЩЬ!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28