Ciao a tutti! Premetto che capisco poco di codifiche e quindi potrei dire qualche cretinata... ma sono qui proprio per chiedervi correzioni e spiegazioni!![]()
Ho una pagina con un form che aggiorna alcune select con ajax; dovendo prevedere la possibilità di utilizzo nei valori anche di simboli come < o > ecc ho fatto un po' di prove di cui cerco di riassumervi i risultati. Avevo utilizzato la funzione escape(valoreParametro) per fare una richiesta ajax in get e evitare i problemi legati alla presenza dei "caratteri particolari"... ma non funzionava nel caso del simbolo dell'euro: la servlet che riceve i dati andava in errore per parametro non trovato. Cercando un po', sul sito del w3c avevo trovato una raccomandazione per cui è meglio usare encodeURI o encodeURIComponent per codificare parametri da inviare in get e ho visto che utilizzando quest'ultima l'invio del parametro avviene senza problemi.
Domanda 1: a questo punto, mi aiutate a chiarirmi le idee sulla differenza fra queste tre funzioni?
Ora forse sforo un po' in tecnologie lato server, ma non sono troppo sicura di dove stia effettivamente il problema, al massimo se me lo suggerite chiedo in prorgrammazione.... in pratica, il parametro ora arriva alla servlet, ma arriva non correttamente visualizzabile: se mi fermo in debug vedo un quadratino al posto dell'euro e se faccio nel codice un confronto fra la stringa che arriva come parametro e quella che dovrebbe essere (cioè con il simbolo dell'euro), ottengo false (cioè sono diverse).
Domanda 2: è un problema di codifica da imputare all'uso della encodeURIComponent()? I simboli come > o < o diversi altri non mi danno problemi di questo genere, per ora ho avuto solo problemi dal simbolo dell'euro, avete suggerimenti?
Grazie per la pazienza nel leggere questo lungo post!![]()