LINUX.ORG.RU

Cgi programing !


0

0

    Мужики помогоите !
Когда я принимаю данные (через POST or GET )то я их раскодирую в нормальный вид!  Но как их закодировать обратно !

Плиз кинте идею или доку или URL??

чего-то я не понял...ты знаешь как их раскодировать ...а как после этого с закодированием могут возникнуть проблемы?

anonymous
()

При раскодировании просто перемножаю некоторые символы ....

Но какие нужно закодировать и как правильно определять Я не знаю !!!

kred
() автор топика

a nafig tebe ih voobshe kodirovat ? tebe eto ne nado a voobshe zamenyaesh vse probely na + vse simvoly s kodom > 127 i simvol & na %HEXCODE (dva simvola) kakie problemy to ?

master
()

a nafig tebe ih voobshe kodirovat ? tebe eto ne nado a voobshe zamenyaesh vse probely na + vse simvoly s kodom > 127 i simvol & na %HEXCODE (dva simvola) kakie problemy to ?

master
()

А как на счет модуля URI:Escape::uri_escape или CGI:escape_html?
Можно попробовать следующий код, но сразу предупреждаю, возможно его надо доработать. Пишу из головы:
--- cut ---
sub escape_text {
my $text = $_[0];
my ($result, $tmp);

   while ($text =~ /(.)/g) {
      if ( ord ($1) > 127 or $1 eq "&") {

# Ну вылетело как преобразовать десятичный код шестнадцатеричный. Можно попробовать sprintf.
         $tmp = "%" . _from_DEC_to_HEX_ (ord ($1) );
      } else { $tmp = $1 }
      $result .= $tmp;
   }
   return $result;
}
--- cut ---

Korwin ★★★
()
Ответ на: комментарий от Korwin

Совсем забыл пробелы заменить на '+'.
Дожно быть так:
--- cut ---
   $result =~ s/ /\+/g;
   return $result;
--- cut ---

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