Umlaute in dyn. Links mit Parametern

Fragen und Tipps & Tricks zur Newsletter Software SuperMailer oder zum BirthdayMailer

Moderatoren: mirko, Wolfi

Antworten
udo
Beiträge: 8
Registriert: 10.07.2007, 14:09

Beitrag von udo »

Merci - genau das habe ich gesucht .... nur funzt der leider nicht.

Allerdings das nächste Listing dort bringt das gewünschte Ergebnis.

Vielen Dank für den superschnellen Support!

Gruss Udo
Benutzeravatar
mirko
Beiträge: 22900
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Du musst im eigenen Script abprüfen ob es UTF-8 ist oder nicht

von http://de.php.net/manual/de/function.utf8-encode.php

Code: Alles auswählen


function is_utf8($string) { 
       
        // From http://w3.org/International/questions/qa-forms-utf-8.html 
        return preg_match(\'%^(?: 
              [x09x0Ax0Dx20-x7E]            # ASCII 
            | [xC2-xDF][x80-xBF]             # non-overlong 2-byte 
            |  xE0[xA0-xBF][x80-xBF]        # excluding overlongs 
            | [xE1-xECxEExEF][x80-xBF]{2}  # straight 3-byte 
            |  xED[x80-x9F][x80-xBF]        # excluding surrogates 
            |  xF0[x90-xBF][x80-xBF]{2}     # planes 1-3 
            | [xF1-xF3][x80-xBF]{3}          # planes 4-15 
            |  xF4[x80-x8F][x80-xBF]{2}     # plane 16 
        )*$%xs\', $string); 
       
    } 


udo
Beiträge: 8
Registriert: 10.07.2007, 14:09

Beitrag von udo »

Hallo - habe hier bei der Suche nichts passendes gefunden, daher meine Frage hier:

Ich generiere dynamische Links mit Namen als Parameter, die eben auch Umlaute enthalten.

Wenn dich den generierten Link direkt in der Browseradresszeile eingebe wandelt der Browser die Umlaute sofort um - ich nehme an in UTF-8 (zB Jäger in Jäger) und dann wird der Name auch korrekt im Skript verwendet.

Klicke ich diesen Link nun aus der HTML Mail heraus an, so wird der Name vom Browser nicht umgewandelt und das Formular arbeitet mit kryptischen Zeichen statts der Umlaute.

Dieses Problem kann mit utf8_decode() gelöst werden - aber eben nur wenn der Link direkt im HTML Teil angeklickt wird. Wennd er Link aus dem Text Teil der Mail aufgerufen wird, wandelt der Browser die Zeichen um und nach utf8_decode() steht noch größerer Schrott statts der Umlaute drin.

Ich will die Sache lösen, indem ich irgendwie abfrage, ob der Parameter UTF kodiert ist oder nicht - aber wie geht das - oder gibts andere Lösungen? Ist recht wichtig und dringend - wer kann helfen?

Nochmals zur verdeutlichung - es geht um Links in Mails in folgender Form

Code: Alles auswählen

http://superscripte.de?vorname=Karl&nachname=Jäger

Gruss Udo
Zuletzt geändert von udo am 02.02.2009, 21:21, insgesamt 3-mal geändert.
Antworten