beach: Mailto mit Sonderzeichen im body

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

  1. 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

    1. 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