Jump to content
Калькуляторы

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

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

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

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

Edited by marikoda

Share this post


Link to post
Share on other sites
Есть 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

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

Edited by orlik

Share this post


Link to post
Share on other sites

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

 

 

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this