AIX CP1251


В этой теме 14 ответов, 9 участников, последнее обновление  azar_mike 5 года/лет, 10 мес. назад.

  • Автор
    Сообщения
  • #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

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