AIX CP1251

Просмотр 14 веток ответов
  • Автор
    Сообщения
    • #4916
      Дмитрий
      Участник

      Добрый день! Перерыл весь интернет и гугл в поисках how-to установки локали CP1251 в AIX..ничего не нашел. Может кто-нибудь подсказать каким образом это сделать? Спасибо.

    • #4917
      Michael
      Участник

      Нипонил, зачем такая локаль в AIX? 🙂
      Вот я на сервера хожу программкой Putty. Настроил её, так чтобы она перекодировала в CP1251 и усё…

    • #4918
      Дмитрий
      Участник

      Кабы знать 🙂 но надо помочь людям 🙂 для приклада какого-нибудь..

    • #5156
      andrewk
      Участник

      при правильно поставленной задаче локаль 1251 на сервере не нужна.

    • #5159
      Nikolay Logvinov
      Участник

      Сначала делаем charmap. Берём файл /usr/lib/nls/charmap/ISO8859-5, копируем его в, например, CP1251 (в том же каталоге) и, соотвественно, правим.
      Далее. в каталоге /usr/lib/nls/loc выполняем команду:
      # localedef -c -f CP1251 -i ru_RU.ISO8859-5.src ru_RU.CP1251
      И всё, локаль ru_RU.CP125 у Вас в кармане.

    • #6867
      Konstantin
      Участник

      Добрый день, не могу нигде найти файл ru_RU.ISO8859-5.src, как впрочем и ему подобные – нашел только скудное описание в доке от IBM.
      Файл ISO8859-5 у меня просто линк на sbcs, взял от линукса и чуть доделал – система его вроде скушала с небольшими warning’ми =) а вот src файл переделать все никак не получается(
      Не могли бы Вы поделиться своим опытом в построении локалей?

    • #6984
      Nikolay Logvinov
      Участник

      1. Пакеты:
      bos.loc.adt.locale
      bos.loc.adt.iconv

      2.
      # cd /usr/lib/nls/charmap
      # cp ISO8859-5 CP1251

      Далее, самое занудное, поправить кодировку по русским буквам.
      Файл от Linux’а не подойдёт – другой формат. Хотя можете взять его, и переделать. Там уже надо одну колонку удалить, а две другие поменять местами, немного поправив. Зато не надо заморачиваться насчёт кодировки.

      3.
      # cd /usr/lib/nls/csmap
      # ln -s /usr/lib/nls/csmap/sbcs CP1251

      4.
      # cd /usr/lib/nls/loc
      # cp ru_RU.ISO8859-5.src ru_RU.CP1251.src

      Можно и не копировать, это так, для порядка.

      5. Там же:
      # localedef -c -f CP1251 -i ru_RU.CP1251.src ru_RU.CP1251
      # locale -a | grep CP1251

      Далее, iconv:
      # cd /usr/lib/nls/loc/iconv
      # ln -s /usr/lib/nls/loc/iconv/Universal_UCS_Conv CP1251_UTF-8
      # ln -s /usr/lib/nls/loc/iconv/Universal_UCS_Conv UTF-8_CP1251

      и

      # cd /usr/lib/nls/loc/uconvTable
      # cp IBM-1251.ucmap CP1251.ucmap
      … правим имя внутри файла
      # uconvdef -f CP1251.ucmap CP1251

      # iconv -l|grep CP1251

      Вроде всё.

    • #8094
      Aleksey
      Участник

      Делаю все по пунктам, на моменте
      localedef -c -f CP1251 -i ru_RU.CP1251.src ru_RU.CP1251
      вылезает ошибка

      sh: c99: not found.
      sh: c89: not found.
      sh: cc: not found.
      sh: cc: not found.
      localedef [ERROR]: FILE: ru_RU.CP1251.src, LINE: 1572, CHAR: 1
      Unable to exec /usr/bin/sh to process intermediate files.

      строка 1572 в файле последняя
      END LC_MESSAGES

    • #10606
      Andrey
      Участник

      Добрый день!

      Пожалуйста, поделитесь, charmap локали CP1251 для отработки команды localedef. И еще не знаю где взять ru_RU.CP1251.src…

      Есть надобность в AIX 6.1 поставить локаль CP1251 (для работы виндовых клиентов), но по скудной информации не получается сделать…

      Помогите, пожалуйста, коллеги!

      🙁

    • #10610
      andrewk
      Участник

      поставьте виндовым клиентам putty и настройте в нем перекодировку. Не понимаю я этих извращений с локалью на сервере 🙁

    • #10613
      Andrey
      Участник

      Если было так легко!

      На серверах AIX стоит многозвенная Сименсовская CAD/PLM система, юзающая кодировку CP1251 в БД Oracle. И клиенты “пропускаются” через серверные процессы AIXа в БД Oracle и получают кракозябры при работе в БД Oracle…

    • #10614
      andrewk
      Участник

      а Вы пробовали клиентам без создания локали в профайле просто сказать:

      export LANG=ru_RU.CP1251
      ?

    • #10630
      Andrey
      Участник

      # export LANG=ru_RU.CP1251
      # locale
      LANG=ru_RU.CP1251
      LC_COLLATE=”ru_RU”
      LC_CTYPE=”ru_RU”
      LC_MONETARY=”ru_RU”
      LC_NUMERIC=”ru_RU”
      LC_TIME=”ru_RU”
      LC_MESSAGES=”ru_RU”
      LC_ALL=ru_RU

      # locale -a
      C
      POSIX
      en_US.8859-15
      en_US.ISO8859-1
      en_US
      ru_RU.ISO8859-5
      ru_RU

      Эффекта не имеет 🙁 Если ставить еще export LC_ALL=ru_RU.CP1251 – то сервер приложений вообще не стартуют: invalid locale

    • #12586

      Хотелось бы поднять тему,
      есть у кого-нибудь “история успеха” с CP1251, так как официально нам в поддержке этой локали отказано, а прикладухе, к большому сожалению, она нужна?

    • #14009
      azar_mike
      Участник

      Получилось поднять поддержку cp1251 по описанной выше инструкции.

      locale -a
      C
      POSIX
      EN_US.UTF-8
      EN_US
      RU_RU.UTF-8
      RU_RU
      en_US.8859-15
      en_US.ISO8859-1
      en_US
      ru_RU.CP1251
      ru_RU.ISO8859-5
      ru_RU

      iconv -l
      ASCII-GR
      big5
      BIG5-HKSCS
      CNS11643.1986-1
      CNS11643.1986-2
      CP1251

Просмотр 14 веток ответов
  • Для ответа в этой теме необходимо авторизоваться.