Hi, ich habe ein kleineres Perl-Script geschrieben, um die Logfiles für die eigene Website nach bestimmten Kriterien auszuwerten, die mir in der Logfile-Analyse des Servers so nicht angezeigt werden.
Das Script analysiert auch, welche Suchbegriffe bei Google&Co in den Referer-Angaben auftauchen. Dabei habe ich jetzt das Problem, dass bei etlichen Suchbegriffen die Umlaute zu seltsamen Zeichen führen. Ich verwende für die gefundenen Suchbegriffe die übliche Ersetzung:
$suchbegr =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
Und dann kommt für etliche (nicht alle, aber vielleicht 20%) der Suchbegriffe heraus, dass Umlaute in der Ausgabe als Zeichen erscheinen wie "ältere Menschen" statt "ältere Menschen", "rückenschmerzen" statt "Rückenschmerzen" usw.
Nun könnte man meinen, die Suchanfrage kam von jemand, der im Ausland einen anderen Zeichensatz verwendet. Ist aber nicht so, fast durchweg handelt es sich um IPs von deutschen Servern. Der im Logfile angezeigte Suchbegriff von einem deutschen Server heisst z.B.: "%C3%BCckenschmerzen", im Google-Suchstring erscheint auch noch explizit "&cr=countryDE".
Woran liegt das? Dass jemand in Deutschland auf seinem Browser einen sehr exotischen Zeichensatz verwendet? Oder stimmt die Perl-Ersetzung nicht?