Micha: Javascript "escape" wird durch "encodeURI" ersetzt?

Beitrag lesen

Hallo Struppi,

für Fomrulare brauchst du es erst recht nicht, da der Browser die URL Kodierung dort von alleine durchführt.

Ich habe die Diskussion mal ein wenig verfolgt und auch die von Mathias verlinkten Thread durchgelesen. Indirekt habe ich das selbe Problem wie der Fragestellende. Wobei ich mir hier eher wenig Gedanken gemcht habe und einfach das genommen habe, was letztlich funktioniert.

Ich erlaube dem User das Eingeben eines Ortes und gestalte dann eine Abfrage mit JS dieses Ortes in einer DB, um die Koordinaten zu bekommen. Probleme waren zunächst Orte mit Umlauten (zB Köln) oder Leerzeichen (jede Dadstadt). Mache ich mit den Formulardaten nicht, übergebe sie also so, wie sie mit JS aus dem Textfeld ausgelesen werden, passiert nichts. Nutze ich encodeURI() erziele ich das selbe Ergebnis. Erst mit dem Einsatz von escape() gehts - Städte mit Umlauten werden gefunden.

Wie geht man denn nun vor; gerade auch wegen dem mahnenden Hinweis von molily, "Warum du auf keinen Fall escape() verwenden solltest" beachtet?

Derzeit mache ich es wie gesagt mit escape():

  
function Query(k, v){  
 this.key = k.trim();  
 this.value = escape(v.trim()); //encodeURI(), escape()  
 //...  
}

Mit freundlichem Gruß
Micha