Newsgroup: it.comp.www.asp
Titolo: eisste il contrario di server.htmlencode ?

salve al ng,
una domanda forse stupida: esiste un modo per riportare il testo da html
encoded a normale? mi spiego esiste un metodo analogo a server.htmlencode()
che però faccia il contrario? (qualcosa tipo server.htmldecode() :) )   ciao
a tutti, giullo

 ha scritto nel messaggio
news:VDda7.25027$%7.36...@news6.giganews.com...

c'è una funzione javascript, unescape
<script language=JavaScript RUNAT=SERVER>
function Decode(strSource)
{
  return unescape(strSource);
}
</script>
poi usi Decode(testo)
ciao
--
Kappa
ka...@webngo.net
www.webngo.net

che però faccia il contrario? (qualcosa tipo server.htmldecode() :) )   ciao
non mi risulta, tant'è che mi scrissi a mano una funzione che lo
faceva...  eccola qua, a sua volta chiama un'altra funzione che sta
sotto:
<%
function fUrlDecode(s)
	dim i
	dim ss
	dim n
	dim appo
	dim nn
	for i = 1 to len(s)
		ss = mid(s, i, 1)
		if ss = "%" then
			nn = mid(s, i + 1, 2)
			nn = H2Dec(nn)
			appo = appo & chr(nn)
			i = i + 2
		else
			appo = appo & ss
		end if
	next
	fUrlDecode = appo
end function
%>
<%
function H2Dec(n)
   dim i     ' contatore generico
   dim ee    ' esponente al quale elevare 16
   dim k     ' fattore per il quale moltiplicare la
             ' potenza di 16
   dim appo  ' variabile di appoggio
   for i = len(cstr(n)) to 1 step - 1
      ee = len(cstr(n)) - i
      select case mid(n, i, 1)
         case "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
            k = mid(n, i, 1)
         case "A", "B", "C", "D", "E", "F"
            k = 10 + asc(mid(n, i, 1)) - asc("A")
      end select
      appo = appo + ((16^ee) * k)
   next
   H2Dec = appo
end function
%>
-- 
non studio non lavoro non guardo la tv
non vado al cinema non faccio sport

 ha scritto

Non c'è perchè sarebbe un comando inutile se usato lato server.
E' fondamentale che i dati siano *sempre* slegati dall'applicazione.
Per questo motivo memorizzare i dati nel formato htmlencoded o in altro
formato in un db è un errore, perchè limita l'uso dei dati ad
un'applicazione specifica.
Quando si ha, come nel tuo caso, la necessità di poterli usare per altri
scopi ecco che tutto si complica...
Credimi, piuttosto che utilizzare una funzione di conversione, sarebbe
opportuno dare una pulita ai dati e riportarli a testo normale :-))
Ciao!
Massimo

 ha scritto nel messaggio
news:Tura7.92709$Qf6.7...@news2.tin.it...

Cavoli me ne sono accorto!!! da oggi in poi registrerò i dati in formato
normale e poi li encodo al volo quando mi servono ... cmq grazie lo stesso!
ciao, giullo

opportuno dare una pulita ai dati e riportarli a testo normale :-))
sono d'accordo, in teoria, con quello che dici ma, avendo dovuto
passare del tempo a scrivere le funzioni che ho scritto, vorrei far
presente che non sempre la realtà è così semplice e non sempre un
processo è controllato da una singola persona con una singola
tecnologia.
nel mio caso ricevevo (anzi, ricevo) stringhe di testo encodate in
questo modo da un'applicazione legacy (cioè un ferrovecchio unix che
non si può buttar via sul quale nessuno sa/può/vuole mettere le mani)
e l'unica era decodarli a mano.
poi non sapevo che esistesse quella funzione in javascript...


 a tutti, giullo.

 poi non sapevo che esistesse quella funzione in javascript...
Si, esiste anche nel JScript, quindi fruibile lato server, così risolvi il
tuo problema col ferro vecchio :-))
Ma attenzione, una cosa è l'htmlencode, che trasforma > in &gt; ben altra è
il metodo escape(stringa) dell'ECMA-script che trasforma stringa nel formato
Unicode!!
unescape("%3E") è ok, rende >, ma unescape("&gt;") rende &gt; !!
La domanda originale era sull'htmlencode... ^_^;;
Ciao!
Massimo