Zeichenkodierung im Referer

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zeichenkodierung im Referer

    Hey,

    ich erfasse immer den Referer meiner Besucher. Das klappt auch super.
    Allerdings bekomm ich manchmal einen Referer-String, mit Zeichen die nicht erkannt werden "?" z.B.:
    Code:
    http://go.mail.ru/search?q=������&fr=mrch&fr3=p_mailru
    Wie kann ich � erkennen und so umwandeln das es lesbar ist.

    Meine PHP-Datei und auch die Header-Kodierung ist UTF-8! Manchmal steht bei q= kyrillische Zeichen und manchmal eben nur �.

    Kann mir jemand weiterhelfen, wie ich das Problem lösen kann?

    Danke

  • #2
    Gibt es hierfür Ideen?

    Kommentar


    • #3
      Hallo,

      Zeichen „die nicht erkannt werden“ gibt es in diesem Sinne nicht. Es sind lediglich Zeichen, die in deiner Ausgabecodierung nicht darstellbar sind und deshalb durch ein Ersatzzeichen repräsentiert werden. PHP kann diese Zeichen trotzdem verarbeiten.

      In welcher Codierung der Browser URIs sendet, hängt von der Browserkonfiguration (immer als UTF-8 / kontextabhängig) ab und bei der kontextabhängigen Variante meist vom Zeichensatz des aktuell angezeigten Dokuments (insbesondere beim Abschicken von Formularen). In deinem Falle (.ru-Adresse) tippe ich mal darauf, dass die URI als windows-1251 codiert ist.

      Du müsstest mit PHP also erstmal den richtigen Zeichensatz „erraten“ und dann den Text in deinen Ausgabezeichensatz konvertieren. Da Sonderzeichen in URIs aber sowieso URI-encoded werden müssen, kannst du diese Zeichen (nicht die gesamte URL) auch einfach durch rawurlencode() jagen, ohne dadurch die URL unbrauchbar zu machen.

      Gruß,

      Amica
      Zuletzt geändert von AmicaNoctis; 21.02.2012, 11:12.
      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
      Super, danke!
      [/COLOR]

      Kommentar


      • #4
        Okay. Danke. Werd es darauf hin mal prüfen!

        Kommentar

        Lädt...
        X