Olá, é o seguinte, eu fiz um formulário em HTML que passa os dados pra um CGI no servidor, este CGI salva as informações num arquivo e as esvia por email, porém:
"Quando o seu servidor web envia os dados do FORM para o seu CGI, ele faz um encode dos dados recebidos. Caracteres alfanumérico são enviados normalmente, espaços são convertidos para o sinal de mais (+), outros caracteres como tab, aspas são convertidos para %HH, onde HH são dois dígitos hexadecimais representando o código ASCII do caractere."
E não sei como fazer esse "URL DECODE", encontrei o codigo abaixo, porém não tenho ideia de como se fazer.
http://www.shelldorado.com/scripts/cmds/urldecode

Meu CGI:
Código :
#!/bin/sh
#daniel.uramg
#20/10/2009
#Formail
#Prepara arquivo para exibição  
  echo "content-type: text/html"
  echo
  echo "<html> <head> <title> Formulário Enviado </title> </head>"
  echo "<body>"
  VAR=$(sed -n '1p')
#  echo "$VAR"
  echo "<br><b>Os dados abaixo foram enviados com sucesso!</b>"
  nome=$(echo $VAR | sed 's/\(name=\)\(.*\)\(\&mail=.*\)/\2/;s/+/ /g')
  mail=$(echo $VAR | sed 's/\(.*&mail=\)\(.*\)\(\&tel=.*\)/\2/;s/%40/@/')
  tel=$(echo $VAR | sed 's/\(.*&tel=\)\(.*\)\(\&endereco=.*\)/\2/')
  end=$(echo $VAR | sed 's/\(.*&endereco=\)\(.*\)\(\&message=.*\)/\2/')
  text=$(echo $VAR | sed 's/\(.*&message=\)\(.*\)\(\&para=.*\)/\2/')
  TO=$(echo $VAR | sed 's/\(.*&para=\)\(.*\)\(\&btnOK=.*\)/\2/;s/%40/@/')
  OK=$(echo $VAR |  sed 's/.*\&btnOK=//')
 
#Dados exibidos no navegador  
  echo "<br>
  <br><b>Nome:</b> $nome
  <br><b>Email:</b> $mail
  <br><b>Telefone:</b> $tel
  <br><b>Endereço:</b> $end
  <br><b>Mensagem:</b> $text
  <br>"
  echo "<br><b><i>Aguarde que em breve entraremos em contato.</i></b>"
  echo "</body>"
  echo "</html>"
 
#Envia as informações para o arquivo para serem enviados por email
echo < $(echo -e >/partition/formsend/$nome.txt "Subject: Contato através do site
To: $TO
From:"$nome"
 
Formulário de contato enviado pelo site:
Nome: $nome 
Email: $mail
Telefone: $tel
Endereço: $end
Mensagem: $text
")
 
#Envia arquivo por email
cat "/partition/formsend/$nome.txt" | /usr/sbin/msmtp -t -C /etc/.msmtprc
Como exemplo um email enviado por este formulário:
Formulário enviado pelo site:
Nome: Daniel Placido
Email: [email protected]
Telefone: 3351-5555
Endereço: QNB+09+LOTE+02+LOJA+01
Mensagem: Mensagem+de+teste+na+primeira+linha.%0D%0ASegunda+linha%2C+esta+ferrando+com+os+espa%E7os+e+acentos%21%0D%0AN%E3o+consigui+mesmo+arrumar%21%0D%0A%0D%0AAlguem%3F%3F
Grato!