A cosa serve???
A cosa serve???
LA REALTA' SUPERA LA FANTASIA
a codificare caratteri speciali come lo spazio, le a o le e accentate, le &... quando vengono passati tramite la barra degli indirizzi. se non li codifichi non avrai la certezza che raggingeranno la pagina target "integri". naturalmente nella pagina target devono essere decodificati.
ad esempio se passi un parametro nome=ciro&figli tramite url, devi applicare l'encode alla &, altrimenti verrà interpretata come il noto separatore che lega una serie di parametri.![]()
"0 è tutto finito. 1 è solo l'inizio"
HO IL CERTIFICATO DI RESISTENZA.
posto questa funzione reperita sul web, è un urlencode per javascript :
codice:function URLEncode(CODE){ var plaintext = CODE; var SAFECHARS = "0123456789" + // Numeric "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + // Alphabetic "abcdefghijklmnopqrstuvwxyz" + "-_.!~*'()"; var HEX = "0123456789ABCDEF"; var encoded = ""; for (var i = 0; i < plaintext.length; i++ ) { var ch = plaintext.charAt(i); if (ch == " ") { encoded += "+"; // x-www-urlencoded, rather than %20 } else if (SAFECHARS.indexOf(ch) != -1) { encoded += ch; } else { var charCode = ch.charCodeAt(0); if (charCode > 255) { alert( "Unicode Character '" + ch + "' cannot be encoded using standard URL encoding.\n" + "(URL encoding only supports 8-bit characters.)\n" + "A space (+) will be substituted." ); encoded += "+"; } else { encoded += "%"; encoded += HEX.charAt((charCode >> 4) & 0xF); encoded += HEX.charAt(charCode & 0xF); } } } // for // VALORE CODIFICATO return encoded; };
odio chi parla di politica..
anzi vorrei fondare un partito contro tutto ciò
Perche` la funzione escape() non va bene?
Cosa fa la tua in piu`?
Il suo contrario e` unescape().
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
non la conosco !!!
ho sempre usato questa...
come è la sintassi di escape() ???![]()
odio chi parla di politica..
anzi vorrei fondare un partito contro tutto ciò
bella lì !!!!
ho sempre usato una funzione che non serve a un benemerito c...o !!!
grazie, mich !!!
------------
escape("Ecco qui")="Ecco%20qui"
o con unescape per rendere la situazione contraria:
unescape("Ecco%20qui")="Ecco qui"
odio chi parla di politica..
anzi vorrei fondare un partito contro tutto ciò
no...un momento... nella documentazione della funzione ho trovato questo :
Note that the standard JavaScript escape and unescape functions operate slightly differently: they encode space as "%20", and treat "+" as a safe character
che significa ??? quale è il modo giusto allora ???
odio chi parla di politica..
anzi vorrei fondare un partito contro tutto ciò
Dove lo hai trovato?
Potrebbe essere che in IE lo spazio venga trasformato in + e quindi il + deve venir codificato.
In devGuru non e` riportato quel commento.
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
http://www.albionresearch.com/misc/urlencode.php
tra l'altro l'ho sempre usato ( proprio con IE ) e non ha mai dato problemi..
accidenti adesso ho il dubbio :master:
odio chi parla di politica..
anzi vorrei fondare un partito contro tutto ciò
Cerco di riassumere, per fare un po' di chiarezza.
1. Ci sono caratteri che servono per controlli, e che quindi non possono passare lungo una connessione fra due computer.
2. Tali caratteri devono essre in qualche modo codificati.
3. Ci deve poi essere una routine di decodifica congruente con la codifica (chi spedisce deve codificare, chi riceve deve decodificare).
A questo punto ci sono vari argomenti da tenere in considerazione.
1. essere coerenti con se stessi (se codifichi in un modo devi decodificare allo stesso modo).
2. ASP codifica lo spazio in + (mi pare); quindi potrebbe essere che le funzioni [un]escape() in jscript (in IE) si comportino come ASP; in javascript invece seguono lo standard W3C.
3. A questo punto se devi "far parlare" due programmi che gestisci tu e solo tu (ad esempio il tuo programma sul server e le tue pagine) puoi fare come vuoi; se invece devi far comunicare sistemi diversi e non prevedibili e` meglio se segui gli standard (ma quali standard seguire non so dirti).
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati