Wer hin und wieder schon mal in einem Apache-Log die Referer durchsucht hat, kennt das Problem mit der Zeichenkodierung: Sonderzeichen werden als zweistellige hexadezimale Zeichen mit vorangestelltem Prozentzeichen dargestellt. Aus ‚Wörter mit Äh, Üh und Öh‘ wird so schnell ein ‚W%F6rter+mit+%C4h%2C+%DCh+und+%D6h‘, was für den Admin wirklich schwer zu lesen sein dürfte.
Eine ganz einfache Möglichkeit der Umwandlung bietet Perl durch die Möglichkeit, die Suchergebnisse eines regulären Ausdrucks durch eine Callback-Funktion zu schicken:
echo 'W%F6rter+mit+%C4h%2C+%DCh+und+%D6h' | perl -pe 's/%([A-Fa-f0-9]{2})/pack("C", hex($1))/seg'
Nur die Pluszeichen (welche für Space eingesetzt werden) bleiben bestehen, das erschwert die Lesbarkeit jedoch kaum. Falls es doch stört, einfach das Ergebnis nochmal durch ‚tr‚ schicken…