URLDecoder und chinesische Schriftzeichen

d3n1s

Mitglied
ein vb scribt macht mir mit "escape(url)" ein escape aus einer url, welche chinesische schriftzeichen enthält. in java möchte ich nun die url wieder decodieren.
wenn sich in der url keine chinesischen schriftzeichen befinden, funktioniert das mit:

Java:
decodedUrl = URLDecoder.decode(url,"UTF-8");

werden allerdings chinesische schriftzeichen benutzt, bekomme ich folgende exception:
java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "u2"

hat jemand einen lösungsvorschlag??
 

faetzminator

Gesperrter Benutzer
Bist du sicher, dass diese Schriftzeichen mit UTF-8 abgebildet werden können? Sieht nicht so aus. Verwende das Charset, welches die chinesischen Schriftzeichen beinhaltet.
 

d3n1s

Mitglied
da bin ich mir nicht sicher, ja... hab aber bei wikipedia folgendes gefunden:

In UTF-8 werden ASCII-Zeichen in einem Byte kodiert und chinesische Zeichen in drei oder vier Bytes.
In UTF-16 werden ASCII-Zeichen in zwei Bytes kodiert und chinesische Zeichen in zwei oder vier Bytes.
In UTF-32 werden ausnahmslos alle Zeichen in vier Bytes kodiert.
 

Ähnliche Java Themen


Oben