Mailto mit Sonderzeichen im body
beach
- javascript
Hallo zusammen,
ich muss mittels eines "mailto:" das verschicken von emails ermöglichen.
in etwa so
function test() {
var subject = encodeURIComponent(element xyz1 auslesen);
//z.b. testbetreff
var body = encodeURIComponent(element xyz1 auslesen);
// z.b. test inhalt 123... öäü usw.
location.href = "mailto:?subject="+subject+"&body="+body;
}
Testumgebung IE6 und IE7 und als Mailprogramme Outlookexpress und Thunderbird.
Im Fall IE + Thunderbird werden Sonderzeichen korrekt dargestellt.
Im Fall IE + OE werden die Sonderzeichen nicht wie gewünscht angezeigt, z.B. wird aus ö => ö
Zeichenkodierung der Seite ist UTF-8
Zeichenkodierung der Mailclients auch UTF-8
Würde mich auf eine Antwort freuen.
Bis dan
Beach
Hallo,
ich glaube nicht, dass du da weiterkommst. Es ist m.W. nirgends festgelegt, welche Kodierung in mailto-Adressen gilt.
Wie verhalten sich die Browser eigentlich ohne encodeURIComponent? Also wenn du nur ? und = maskierst, keine Umlaute usw.?
Im Fall IE + Thunderbird werden Sonderzeichen korrekt dargestellt.
Im Fall IE + OE werden die Sonderzeichen nicht wie gewünscht angezeigt, z.B. wird aus ö => ö
Also es gäbe noch folgende Schreibweise. Aus
start üöä end«
wird
=?UTF-8?q?start =C3=BC=C3=B6=C3=A4 end?=
Also vorne =?UTF-8?q?, dann der encodeURIComponent-kodierte Text, dann ?=.
Das könnten Mailclients zumindest direkt in den Subject-Header schreiben - aber vermutlich werden sie nicht subject=%3D%3FUTF-8%3Fq%3Fstart%20%3DC3%3DBC%3DC3%3DB6%3DC3%3DA4%20end%3F%3D entgegennehmen bzw. sie werden das dann wahrscheinlich nicht direkt in den Header schreiben.
Mathias
Hallo Mathias,
Wie verhalten sich die Browser eigentlich ohne encodeURIComponent? Also wenn du nur ? und = maskierst, keine Umlaute usw.?
Ohne encodeURIComponent
Ohne Umlaute
OE wird aus 1234 => 1234
Thunderbird wrid aus 123 => 1234
Mit Umlauten
Im OE wird aus öäü => öäü
Im Thunderbird wird aus öäü => ¼
Das könnten Mailclients zumindest direkt in den Subject-Header schreiben - aber vermutlich werden sie nicht subject=%3D%3FUTF-8%3Fq%3Fstart%20%3DC3%3DBC%3DC3%3DB6%3DC3%3DA4%20end%3F%3D entgegennehmen bzw. sie werden das dann wahrscheinlich nicht direkt in den Header schreiben.
Wen ich den von dir kodierten subject teil angebe
Ergebnis in Thunderbird => start üöä end
Ergebnis in OE => =?UTF-8?q?start =C3=BC=C3=B6=C3=A4 end?=
Danke für die schnelle Antwort.
Leider funktioniert es mit den Subjet-Header im OE nicht :(
Bis dan
beach