Ergebnis 1 bis 3 von 3

Thema: Probleme mit Sonderzeichen in URL

  1. #1

    Probleme mit Sonderzeichen in URL

    Hallo,

    ich helfe zur Zeit einem Freund bei einem Projekt, das er bei der Arbeit umsetzt. Es handelt sich hierbei um eine Mailing-Aktion, die an verschiedene Kunden rausgehen soll.

    Die Umsetzung sieht bisher so aus. Man hat eine URL und dahinter wird mit / abgetrennt der Empfänger-Namen eingegeben. Daraufhin soll eine "personalisierte" Seite ausgeben werden.

    Beispiel: www.domain.de/AndreasAdler

    soll dann eine Seite anzeigen, auf der etwas in der Art steht: "Hallo Andreas Adler!". Soweit sogut, mein Kumpel hat das mit .htaccess realisiert, dass der Name ausgelesen wird und dann eine Weiterleitung an index.php?id=Name (was halt eingegeben wurde) gemacht.
    Ich hab ihm dann noch eine Funktion geschrieben, dass den Namen von AndreasAdler in Andreas Adler umwandelt, da das ja Vor- und Zuname sind. Soweit klappt auch alles.

    Problem sind jetzt aber die verschiedenen Browser in Kombination mit Sonderzeichen in der URL.
    Wenn ich diese Seite mit dem Namen "AndreasAdlér" aufrufe, wird das "é" im Firefox 2 automatisch in "%E9" umgewandelt. In den anderen Browsern, mit denen ich das getestet habe (Firefox 3 und Internet Explorer 6), wird das nicht gemacht und entsprechend kommt es zu Problemen bei der späteren Ausgabe auf der Homepage. Das "é" wird hier zum Beispiel zu "é".
    Ich hab dann ein bisschen gegoogelt und bin dann auf die PHP-Funktion "utf8_decode" gestoßen. Wenn ich den Text vor der Ausgabe also dekodiere, wird die Darstellung in IE6 und FF3 richtig, im FF2 dagegen wird mir statt "é" nur "?" ausgegeben.

    Habt ihr vielleicht eine Idee, wie ich aus dem Dilemma herauskommen kann?

    Vielen Dank für eure Hilfe schon mal im Voraus.

    Nachtrag: Bin eben auf die Funktion mb_detect_encoding gestoßen, kann diese jedoch für diesen Fall nicht benutzen, da die Funktion auf dem Server, auf dem das ganze abläuft (ist ein Strato-Account) nicht vorhanden ist. Gibt es hier vielleicht eine Alternative, mit der ich das Encoding des String ermitteln kann, damit eine eventuelle Dekodierung vornehmen kann?
    Hab bisher nichts finden können.

    Nachtrag2:
    Okay, da hab ich den Thread wohl umsonst aufgemacht. Habe auf der Manual-Seite der PHP-Funktion utf8_encode einen Beitrag gefunden, in dem eine Funktion zu finden ist, die auf UTF8-Kodierung prüft:
    http://www.php.net/manual/en/functio...code.php#82210

    Damit konnte ich die Dekodierung steuern und es funktioniert nun sowohl mit IE6/FF3, als auch mit FF2.

    Naja, vielleicht ist es ja für die Suchfunktion zu gebrauchen, falls nochmal jemand das Problem hat. ^^

    Geändert von The Best Isaac (23.08.2008 um 20:58 Uhr)

  2. #2
    Du könntest mal probieren, ob du mit urldecode() oder urlencode() was anfangen kannst.

  3. #3
    Zitat Zitat von Manni Beitrag anzeigen
    Du könntest mal probieren, ob du mit urldecode() oder urlencode() was anfangen kannst.
    Die beiden Funktionen hatte ich schon ausprobiert, konnten mir aber nicht helfen. Aber wie man meinem zweiten Edit entnehmen kann, konnte ich das Problem schon lösen.

    Zitat Zitat von The Best Isaac
    Nachtrag2:
    Okay, da hab ich den Thread wohl umsonst aufgemacht. Habe auf der Manual-Seite der PHP-Funktion utf8_encode einen Beitrag gefunden, in dem eine Funktion zu finden ist, die auf UTF8-Kodierung prüft:
    http://www.php.net/manual/en/functio...code.php#82210

    Damit konnte ich die Dekodierung steuern und es funktioniert nun sowohl mit IE6/FF3, als auch mit FF2.

    Naja, vielleicht ist es ja für die Suchfunktion zu gebrauchen, falls nochmal jemand das Problem hat. ^^

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •