LINUX.ORG.RU

Перекодировать запрос


0

0

Всем привет!

Есть запрос вида:
?query=sex+narcotics+roc%60n+roll+%D1%81%D0%B5%D0%BA%D1%81+%D0%BD%D0%B0%D1%80%D 0%BA%D0%BE%D1%82%D0%B8%D0%BA%D0%B8+%D1%80%D0%BE%D0%BA--%D1%80%D0%BE%D0%BB%D0%BB

Подскажите, плз, как перекодировать %D1%81%D0%B5%D0%BA%D1%81... в нормальный вид? В оригинале там был русский шрифт... есть ли заточенные под это дело скрипты?

Сеньк!

Ответ на: комментарий от Mousehouse

echo "?query=sex+narcotics+roc%60n+roll+%D1%81%D0%B5%D0%BA%D1%81+%D0%BD%D0%B0%D1%80% D0%BA%D0%BE%D1%82%D0%B8%D0%BA%D0%B8+%D1%80%D0%BE%D0%BA--%D1%80%D0%BE%D0%BB%D0%BB " | perl -ne 'use URI::Escape; print uri_unescape($_) . "\n"'

?query=sex+narcotics+roc`n+roll+секс+наркотики+рок--ролл

sdio ★★★★★
()

$ cat decodeURL.sh 
decodeURL()
{
        local line

        sed "s/\(%..\(%..\)*\)/\n\1\n/g" | while read line; do
                case "${line}" in
                        %*)
                                echo -n "${line}" |  tr -d '%' | xxd -p -r
                        ;;

                        *)
                                echo -n "${line}" | tr "+" " "
                        ;;
                esac
        done
}

$ . decodeURL.sh 

$ echo '?query=sex+narcotics+roc%60n+roll+%D1%81%D0%B5%D0%BA%D1%81+%D0%BD%D0%B0%D1%80%D0%BA%D0%BE%D1%82%D0%B8%D0%BA%D0%B8+%D1%80%D0%BE%D0%BA--%D1%80%D0%BE%D0%BB%D0%BB' | decodeURL
?query=sex narcotics roc`n roll секс наркотики рок--ролл

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.