D'une banalité incroyable, mais je suis sans issue.

On m'a rapporté un bug assez simple:
Dans un formulaire, lorsqu'on met un '?' dans un des champs, la soumission du formulaire échoue.

En fait, il s'agit de formulaires AJAX, donc, chaque paramètre est concaténé dans une chaine de type queryString.

<input type="text" name="var1" value="salut" />
<input type="text" name="var2" value="Allo ?" />
<input type="text" name="var3" value="test" />

Deviendra, lors de la soumission du formulaire:
http://www.site.com/save.php?var1=salut&var2=Allo%20?&var3=test;

Donc comme vous voyez, le second ? viens corrompre le format de l'adresse.


Ma question est donc simple:
Comment encoder adéquatement les valeurs de mes paramètres pour qu'ils transigent adéquatement à travers une requêtes AJAX ?

Note: J'utilise prototype.