Jobe2009 Geschrieben 25. August 2011 Teilen Geschrieben 25. August 2011 (bearbeitet) Hallo, vielleicht könnt ihr mir da weiterhelfen. Ich habe einen String der URLEncoded ist und zwar unter ISO, den ich in einem Servlet decode: String newString = URLDecoder.decode(oldString, "ISO-8859-1"); Dies klappt bei allen Sonderzeichen außer bei dem Euro-Zeichen(€)! Ein Eurozeichen (iso -encoded %80) als String (decoded) wird zu einem nicht dargestellten Zeichen (String-Länge aber 1), das entsprechende Zeichen über eine UTF-8 codierten JSP wird jedoch als undefinierbares Zeichen dargestellt (Viereck mit Ziffern drin). Ich hätte aber gerne ein €-Zeichen:(. Hat da jemand einen Tipp? Mit freundlichen Grüßen, Jobe PS: Als Byte-Array ist dieses ominöse Zeichen [-62, -128] Bearbeitet 25. August 2011 von Jobe2009 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 25. August 2011 Teilen Geschrieben 25. August 2011 Das Eurozeichen ist nicht Bestandteil von iso-8859-1. Statt dessen könntest du mit iso-8859-15 dein Glück finden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jobe2009 Geschrieben 26. August 2011 Autor Teilen Geschrieben 26. August 2011 Hallo, danke für den Tipp. Leider hat dies nicht funktioniert... Ich habe jetzt eine "manuelle" Umwandlung per String.replace("%80", "€") eingebaut, das funktioniert. Mit freundlichen Grüßen, Jobe Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sacaldur Geschrieben 26. August 2011 Teilen Geschrieben 26. August 2011 ich würde dir empfehlen, statt der iso-8859-1 Kodierung utf-8 Kodierung zu verwenden meines Wissens verwenden Browser standardmäßi diese (bzw. eine andere Unicode-Kodierung) bei der Kodierung von URLs da für URLs (bzw. die mit einem % kodierten Zeichen) kein Zeichencode festgelegt ist, kann es zu Problemen führen, wenn auf Clientseite eine andere Codierung verwendet wird deine derzeitige Lösung halte ich eher für einen work-around, da es gerade dabei zu Kodierungsfehlern bei anderen Zeichencodes kommt in ISO-8859-15 hat das €-Zeichen die Nummer A4 (Hexadezimal) und nicht 80 (hast du das bei deinem Test berücksichtigt?) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jobe2009 Geschrieben 29. August 2011 Autor Teilen Geschrieben 29. August 2011 Leider hab ich auf das Encoding der Seite keinen Einfluss sonst währe es ja einfach Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.