Unterschied in der URL-decode/encode in UTF-8 zwischen Java und JS/AS3 (bug!?)

Ich habe ein Problem URL-Dekodierung von UTF-8-Strings in Java codiert ist, entweder mit Javascript oder Actionscript 3. Ich habe einen test-Fall wie folgt:

Den string in Frage, Produktgröße

Wenn ich encode mit JS/AS3 bekomme ich die folgende Zeichenfolge:

escape('Produktgröße')

Produktgr%F6%DFe

Wenn ich unescape dies mit JS bekomme ich keine änderung

unescape('Produktgr%F6%DFe')

Produktgr%F6%DFe

So, von diesem ich gehe davon aus, dass JS nicht Codierung der string richtig??

Folgende JSP erzeugt dieser Ausgang

<%@page import="java.net.URLEncoder"%>
<%@page import="java.net.URLDecoder"%>
<%=(URLDecoder.decode("Produktgr%F6%DFe","UTF-8"))%><br/>
<%=(URLEncoder.encode("Produktgröße","UTF-8"))%><br/>
<%=(URLEncoder.encode("Produktgröße"))%><br/>
<%=(URLDecoder.decode(URLEncoder.encode("Produktgröße")))%><br/>
<%=(URLDecoder.decode(URLEncoder.encode("Produktgröße"),"UTF-8"))%><br/>

Produktgr?e

Produktgr%C3%B6%C3%9Fe

Produktgr%C3%B6%C3%9Fe

Produktgröße

Produktgröße

Jede Idee, warum ich diese Disparität mit den Sprachen und warum JS/AS3 nicht verhält, wie ich es erwarten?

Dank.

InformationsquelleAutor user710437 | 2011-05-25
Schreibe einen Kommentar