# Wieder Mal Sonderzeichen - URLEncode vs. JavaScript



## Gast (31. Dez 2007)

Hi,
folgendes Problem. Möchte eine Servlet Ausgabe als json String in JavaScript übernehmen. Geht auch soweit. Nur kommen die Sonderzeichen nicht mit rüber. So habe ich den String mit URLEncode(String, "UTF-8") vorbereitet. 

In JavaScript kann ich nun den String mit decodeURI zurückwandeln. Zumindest bei den Umlauten funktioniert es. Nur leider wandelt decodeURI nicht alle Zeichen um(z.B. + für Leerzeichen wird nicht verändert). Gibt es eine Möglichkeit den String in JavaScript ordnungsgemäß umzuwandeln oder eine andere Methode?!

Für alle Antworten im Voraus vielen Dank.

Conrad


----------



## Molloy (1. Jan 2008)

http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#decode_uri_component


----------



## Guest (1. Jan 2008)

Vielen Dank für die Antwort.
Nur leider kenne ich die Seite schon. Willst Du mir damit etwas bestimmtes sagen. Suche eigentlich nur ne Möglichkeit einen mit JavaScript encodeURI encodierten String mit java zurückzuwandeln und umgekehrt. Da muss es doch ne simple Methode geben???!! In PHP kenne ich hier urldecode().


----------



## Molloy (3. Jan 2008)

Hatte die Frage nur überflogen und dachte es gäbe Probleme mit der Dekodierung von Steuerzeichen wie '+' auf der Javascript Seite.

Ich seh jetzt auch, dass URLEncoder laut Doku für das Versenden von HTML-Formularen gedacht ist und wohl nicht für Wertübergabe an AJAX.

Wenn du nicht manuell alle kritischen Zeichen ersetzen willst, wie wäre es mit Apache HttpClient, bzw. seiner Klasse URIUtil ?


----------



## maki (4. Jan 2008)

http://commons.apache.org/lang/api-2.3/org/apache/commons/lang/StringEscapeUtils.html


----------

