Перейти к содержимому
Калькуляторы

squid и доменная авторизация AD с русскими логинами

Есть squid 3.1, настроена доменная авторизация через AD (2008 сервер). Кодировка на сервере KOI8-R. Всё нормально работает, только вот в логах отображается вот такое (вместо имени пользователя):

%25d3%25d4%25cf%25cc%25c5%25d4%25ce%25c5%25d7%25c1

Пробовал декодировать и гуглом и штирлицом - не получается. Есть ли способ как-то конвертировать это матюк в что-то читабельное?

 

ПС. Не спрашивайте зачем так сделали (было уже до меня), я сам плююсь на это.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

тут написано "столетнева" в koi8-r

 

% эскейпится дважды, его вообще выкинуть (%25), остальное - закодированное в hex

Изменено пользователем marikoda

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть squid 3.1, настроена доменная авторизация через AD (2008 сервер). Кодировка на сервере KOI8-R. Всё нормально работает, только вот в логах отображается вот такое (вместо имени пользователя):

%25d3%25d4%25cf%25cc%25c5%25d4%25ce%25c5%25d7%25c1

Пробовал декодировать и гуглом и штирлицом - не получается. Есть ли способ как-то конвертировать это матюк в что-то читабельное?

 

ПС. Не спрашивайте зачем так сделали (было уже до меня), я сам плююсь на это.

 

гы гы , там фамилия столетнева. а вообще убираете %25, и получаете таблицу ascii кодов koi8-r .

коды можно взять тут http://www.ascii.ca/koi8-r.htm

 

тут написано "столетнева" в koi8-r

 

% эскейпится дважды, его вообще выкинуть (%25), остальное - закодированное в hex

хех , не успел, пока меня отвлекли :(

Изменено пользователем orlik

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всем спасибо. Вот несколько решений (подсказали на форуме)

 

 

1) echo "%25d3%25d4%25cf%25cc%25c5%25d4%25ce%25c5%25d7%25c1" | awk '{gsub(/%25/, " 0x", $0); FS=" "; for(i=1; i<=NF; i++) printf "%c", $i; print ""}' -
2) echo '%25d3%25d4%25cf%25cc%25c5%25d4%25ce%25c5%25d7%25c1' | perl -pe ' s/%25([a-f0-9]{2,2})/chr(hex($1))/eg;' | recode -f koi8-r..utf-8
3) $ s=""; for i in d3 d4 cf cc c5 d4 ce c5 d7 c1; do o=`printf "%o" 0x$i`; c=`printf "\0$o"`; s=${s}${c}; done; echo "$s"
4) printf '%b\n' "$(echo '%25d3%25d4%25cf%25cc%25c5%25d4%25ce%25c5%25d7%25c1' | sed 's/%25/\\x/g')" | iconv -f koi8-r

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.