ä,ö,ü,ß, Umlaute fehlen aus Flash per php als Mail!

ynfinity

Lt. Commander
Registriert
Jan. 2006
Beiträge
1.745
Hi,

ich habe eine Seite ein Flash (ActionScript3.0), wo "Texteingabefelder" definiert sind wo der User Information eingeben kann die dann per PHP (V 4.4.9) als Mail an mich gesendet werden.
Funktioniert auch alles super, nur werde keine ä,ö,ü,ß und Umlaute (möglicherweise auch noch andere Zeichen, aber die hab ich nicht getestet) übermittelt.
In Flash unter "Schriftarteneinbettung" ist Verdana ausgewählt und zusätzlich weil es nicht klappte auch unter "Diese Zeichen ebenfalls einbetten" die entsprechenden Zeichen eingetragen. Auch unter Zeichenbereiche hab ich entsprechendes ausgewählt, auch mal testweise alles. Brachte leider keine Lösung.

Jemand eine Idee woran das liegen kann?
 
utf8. Wäre meine erste Vermutung und zu validieren wäre, ob das encoding schrott geht bevor es am php ankommt oder erst im php geschrottet wird.
 
wie überprüfe ich denn am besten wo das encoding kaputtgeht? Aber utf8 hab ich eigentlich alles implementiert.
 
Überprüfe einzelne Teile deines Codes. Prüfe das ganze mal ohne Flash, sende nur aus PHP heraus eine Mail mit utf8 codierten Umlauten.

Sendest du die Mail als utf-8 oder wandelst du sie für den Mailversand in latin1 um? Setzt du die entsprechenden Header in der Mail? Poste mal den für Mailversand relevanten Code.


Ich benutze beispielsweise diese Funktion für den Mailversand in utf8:

PHP:
function mail2 ($to, $from, $subject, $text) {
	$header  = "MIME-Version: 1.0\n";
	$header .= 'Content-Type: text/plain; charset="UTF-8"'."\n";
	$header .= "Content-Transfer-Encoding: 8bit\n";
	$header .= "From: ${from}\n";
	
	$subject = '=?UTF-8?B?'.base64_encode($subject).'?=';

	mail($to, $subject, $text, $header);
}

Was in dieser Funktion fehlt ist das 70 Zeichen pro Zeile Limit. Ein simples wordwrap() würde aber utf-8 kaputtmachen, weswegen ich es weggelassen habe (meine Applikation benötigt das zur Zeit nicht).
 

Ähnliche Themen

Zurück
Oben