Moin,
- Heißt das für den Absender der Suchanfrage bei Google, er hat in seinem Browser ganz bewußt UTF-8 als Zeichensatz eingestellt? Oder gibt es Browser, die (in Deutschland) UTF-8 und nicht "Westlich" bzw, "ISO-8859-1" als Standardeinstellung haben?
Zumindest für GET-Parameter ist das keine besonders seltene Einstellung.
- Kann ich die Zeichensatz-Einstellung des Browsers noch aus dem Logfile erkennen, gibt's da in der User-Agent-Angabe irgendwelche Hinweise, so dass man im Perl-Script eine korrekte Umkodierung vornehmen könnte?
Speziell bei Google wird die verwendete Zeichencodierung (zumindest von der in Firefox eingebauten Suche, und auch der von Opera) in ie im GET-String übertragen, müsste also in deinem Refererlog auftauchen. Ansonsten: Bei POST kann man die Codierung wohl im Content-Type:-Header angeben, bzw. verwendet die Codierung die im Formular angegeben wird, die aktuellen Browserimplementierungen bekleckern sich da aber meist nicht wirklich mit Ruhm.
Was du machen kannst, wenn kein ie-Parameter (oder äquivalent) übergeben wird, ist raten: Was sich als UTF-8 interpretieren lässt ist meist auch UTF-8 (oder ASCII, aber das ist ja eh egal). Was vom UTF-8-Dekoder nicht geschluckt wird ist (hierzulande) ISO-8859-15 oder ISO-8859-1. (Und was kein ISO-8859-* ist, ist Windows-1252 oder Mac Roman.) Das ist hässlich und stinkt alles, aber meist good enough.
Henryk Plötz
Grüße aus Berlin
~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~