The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Преобразования текста из UTF-8, !*! Mamoru, 30-Апр-08, 10:42  [смотреть все]
Есть FreeBSD 6.0, openldap client 2.3
Дёргаю из Виндового AD данные при помощи ldapsearch
Русский хранится в AD в UTF-8 я пологаю. И ldapsearch выдаёт "0KHQuNGB0YLQtdC80L3Ri9C5INCw0LTQvNC40L3QuNGB0YLRgNCw0YLQvtGA" вместо "Системный администратор"
Как можно победить? Или потом конвертировать?
  • Преобразования текста из UTF-8, !*! geekkoo, 11:41 , 30-Апр-08 (1)
    • Преобразования текста из UTF-8, !*! Mamoru, 17:19 , 05-Май-08 (2)
      >>Есть FreeBSD 6.0, openldap client 2.3
      >>Дёргаю из Виндового AD данные при помощи ldapsearch
      >>Русский хранится в AD в UTF-8 я пологаю. И ldapsearch выдаёт "0KHQuNGB0YLQtdC80L3Ri9C5INCw0LTQvNC40L3QuNGB0YLRgNCw0YLQvtGA"
      >>вместо "Системный администратор"
      >>Как можно победить? Или потом конвертировать?
      >
      >Как бы по стандарту полагается хранить строки (типа DirectoryString) в виде UTF8.
      >А там - либо локаль ставить соответствующую, либо iconv -f UTF8
      >

      не всё так просто оказалось.
      Искомая строка 0KHQuNG... Приводится "Штирлицем" к рускому виду двумя перекодированиями.
      1ое - Base64->Win
      2ое То,что получилось, UTF-8->WIN
      Так что ответ Ldapsearc'а похоже не в UTF.

      Кто-нибудь ещё сталкивался с чем-нибудь похожим?

      • Преобразования текста из UTF-8, !*! Mamoru, 17:29 , 05-Май-08 (3)
        >[оверквотинг удален]
        >>А там - либо локаль ставить соответствующую, либо iconv -f UTF8
        >>
        >
        >не всё так просто оказалось.
        >Искомая строка 0KHQuNG... Приводится "Штирлицем" к рускому виду двумя перекодированиями.
        >1ое - Base64->Win
        >2ое То,что получилось, UTF-8->WIN
        >Так что ответ Ldapsearc'а похоже не в UTF.
        >
        >Кто-нибудь ещё сталкивался с чем-нибудь похожим?

        Победил!
        Вот таким конвеером: "|base64 -d |iconv -f UTF-8 -t KOI8-R"

        • Преобразования текста из UTF-8, !*! panin, 10:51 , 30-Июн-08 (4)
          • Преобразования текста из UTF-8, !*! Mamoru, 15:52 , 30-Июн-08 (5)
            >а как быть с переносом строки?
            >ldapsearch -LLL -x -h 111.111.111.111 -D adreaduser@domain.com -w 123456 -b DC=domain,DC=com sAMAccountName=panin
            >SN
            >dn:: Q0490J/QsNC90LjQvSDQmtC+0L3RgdGC0LDQvdGC0LjQvSxPVT1Vc2VycyxEQz1kb21haW4sREM9
            >Y29tCg==
            >sn:: 0J/QsNC90LjQvQ==
            >
            >хочется получить по одной строке: атрибут:значение
            >перепробовал различные grepы sedы, может мозгов не хватает.

            param=$(ldapsearch -h 192.168.0.1  -LLL -b "cn=users,dc=domain,dc=ru" \
            -D "cn=administrator,cn=users,dc=domain,dc=ru" -x \
            -wpass "(sAMAccountName=user)" \
            |grep "sn::" |awk '{print $2}'|base64 -d |iconv -f UTF-8 -t KOI8-R )
            echo "sn:"$param
            Так подойдёт? Вместо "sn::" вписать нужное dn:: или чего ещё. Только правда, за один запрос один параметр выгрепливается.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру