- Преобразования текста из 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:: или чего ещё. Только правда, за один запрос один параметр выгрепливается.
|