Hallo
… Ich habe dieses gefunden: http://php.net/manual/de/function.idn-to-ascii.php
Als Ergänzung zu den vorhergehenden Antworten: Ob du die Kodierung beim speichern oder bei der Benutzung des Werts vornimmst, kommt auf deine Eingriffsmöglichkeiten in die benutzten Programme und die Häufigkeit des Einsatzes der Funktion an.
Kannst du, wie Gunnar sagte, die Funktion nicht beim Versand durch Swiftmailer benutzen, ist den Kodierung vor dem speichern der Adresse der bessere Weg. Dann kodierst du die Adresse auch nur ein Mal, statt jedes Mal, wenn du eine Email an den Adessaten versendest.
Andererseits ist Martins Argument, die Kodierung erst dann, wenn sie benötigt wird, anzusetzen, nicht von der Hand zu weisen. Wenn der Anwender mit einer solchen Adresse Korrekturen an seinen Benutzerdaten vornehmen will, wird er im Allgemeinen mit der kodierten Emailadresse nichts anfangen können und dies für einen Fehler halten.
Als Möglichkeit bietet sich an, die Emailadresse einmal im Klartext und einmal kodiert abzuspeichern. Die Klartextversion wird zur Anzeige (z.B. im Profil oder in den Benutzereinstellungen) verwendet, die kodierte Version zum Versand von Emails. Du musst als Anbieter dann natürlich dafür Sorge tragen, dass Änderungen an der Klartextversion der Emailadresse sich auch in der Spalte für die kodierte Version widerspiegeln.
Tschö, Auge
Wo wir Mängel selbst aufdecken, kann sich kein Gegner einnisten.
Wolfgang Schneidewind *prust*