Robert: URL-encoding, UTF-8, ISO-8859-1 ...

Beitrag lesen

Hallöle,

ich hab einige Strings (ursprünglich Referrer aus diversen Logfiles) - ja, ich weiß, da kann jeder mögliche Unsinn drinstehen, trotzdem will ich da was auswerten. Speziell geht es um die Suchstrings, falls der Referrer eine Search Engine ist.

Ok, das Extrahieren des Suchstrings gelingt mir auch mit ausreichend hoher Treffsicherheit.

Probleme machen jetzt nur noch Sonderzeichen.
Ok, aus + Zeichen mach ich Leerzeichen. Kein Thema.

Aber da sind ja auch noch die Umlaute, akzentierte Zeichen usw.

Beispielsweise hat jemand nach "Gepäck" gesucht, dann erscheint "gep%C3%A4ck", aber auch "Gep%E4ck", in meiner Auflistung auf.
Klar, mit etwas Übung kann man trotzdem noch lesen, was gesucht wurde - aber ich fänd es halt schöner, wenn mein Java-Programm direkt "Gepäck" anzeigen würde, liest sich halt leichter - außerdem erleichtert es die statistische Auswertung, wenn ein Wort immer in derselben Schreibweise gespeichert wird.

Ich bräuchte also eine Klasse/Methode, die

  • die URL-encodierten Zeichen decodiert
  • dabei ggf. auch UTF-8/ISO-8859-1 usw erkennt

Gibt es das?
Irgendwie find ich in den API-Docs nichts ...

Zur Not kann ich die wichtigsten Zeichen sowohl in UTF-8 als auch in ISO url-codieren und die Ergebnisse dann für ne Ersetzungs-Tabelle nutzen nach dem Muster:
%C3%A4 -> ä
%C3%9C -> Ü
%C3%9F -> ß
%E4 -> ä
usw.

Aber wenn es da was schlaues vorgefertigtes gäbe ...

Kann mir mal jemand auf die Sprünge helfen?
Wäre sehr dankbar!

cu,
Robert