Umlaute Kontaktformular

Hallo,

ich habe habe das Problem, dass mein Kontaktformular keine Umlaute im Mail-Postfach (Empfänger) anzeigt. Wo liegt der Fehler?

Meta der Seite habe ich auf UMT-8 gestellt (Auf der Seite und beim ausfüllen wird auch alles nach UFT-8 angezeigt. Irgendwie muss da was beim verarbeiteten scheitern.

Meta-Angabe:

    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />

Script:

     
<script>

$('#form-kontakt').submit(function() {
    var formControl = true;
 
    var formvorname = $('#formvorname');
    var formnachname = $('#formnachname');
    var formemail = $('#formemail');
    var formtelefon = $('#formtelefon');
    var formnachricht = $('#formnachricht');
 
    formvorname.removeClass('has-error');
   formnachname.removeClass('has-error');
   formemail.removeClass('has-error');
   formtelefon.removeClass('has-error');
   formnachricht.removeClass('has-error');
 
    var vorname = $('#vorname').val();
    var nachname = $('#nachname').val();
    var email = $('#email').val();
    var telefon = $('#telefon').val();
    var nachricht = $('#nachricht').val();
 
    if(vorname == '') {
         formControl = false;
         formvorname.addClass('has-error');
   }
    if(nachname == '') {
         formControl = false;
         formnachname.addClass('has-error');
   }
    if(email == '') {
         formControl = false;
         formemail.addClass('has-error');
   }
    if(telefon == '') {
         formControl = false;
         formtelefon.addClass('has-error');
   }
    if(nachricht == '') {
         formControl = false;
         formnachricht.addClass('has-error');
   }
 
    if(formControl) { 
    $.ajax({
      type: "POST",
      url: "Kontaktformular.php",
      data: { vorname:vorname, nachname:nachname, email:email, telefon:telefon, nachricht:nachricht }
    }).done(function(message) {
 
     var erfolgsmeldung = $('#erfolgsmeldung'); 
     erfolgsmeldung.html(message);
     erfolgsmeldung-addClass('alert');
    erfolgsmeldung-addClass('alert-success'); 
    });
    }
         
return false;     
});
</script> 

und die Kontaktformular.php:

<head>
<meta charset="UTF-8">
</head>

<?php

$vorname = $_POST['vorname'];
$nachname = $_POST['$nachname'];
$email = $_POST['email'];
$telefon = $_POST['telefon'];
$nachricht = $_POST['nachricht'];


$empfaenger = "adresse@gmx.de"; //Eigene E-Mail
$absendername = "Kontaktformular";
$absendermail = $_POST['email'];
$betreff = "Nachricht durch Webseite";
$text = "Neue Nachricht des Kunden:

Vorname: ".$_POST['vorname']."\n
Nachname: ".$_POST['nachname']."\n
E-Mail: ".$_POST['email']."\n
Telefon: ".$_POST['telefon']."\n
Nachricht: ".$_POST['nachricht']."\n";


mail($empfaenger, $betreff, $text, "From: $absendername <$absendermail>");

echo("Vielen Dank! Ihre Anfrage wurde erfolgreich versandt.");

?>

Ist die Lösung für ein Kontaktformular überhaupt noch up2date oder sollte ich eine andere Lösung mit jquery nutzen? Danke für Hilfe.

im Dokumentkopf ist nicht das einzige Kriterium, das sicherstellt, dass Umlaute korrekt dargestellt werden.
[ol]
[li]Sind auch alle involvierten Dokumente/Dateien/Scripts im Editor UTF8-kodiert gespeichert worden?[/li][li]Welcher Charset ist für den Server eingestellt? (siehe https://www.w3.org/International/articles/http-charset/index )[/li]
[li]…[/li][/ol]
Desweiteren bezüglich .ajax() und den möglichen Settings:

Zitatquelle: http://api.jquery.com/jquery.ajax/

Und das wichtigste: Content-Type/charset header in der Mail angeben. Aber am besten gleich SwiftMailer statt mail() verwenden.

Womit auch die Frage nach dem „up2date“, treffender „state-of-the-art“, beantwortet wäre :smiley:

Danke an alle Antworten. Also … folgendes habe ich jetzt [U]ergänzt /U :

in der Kontaktformular.php:

[CODE]<?php

header(‚Content-Type: text/html; charset=UTF-8‘);

$vorname = $_POST[‚vorname‘];
$nachname = $_POST[‚$nachname‘]; …[/CODE]

Eine .htaccess zugefüht mit:

<?php AddDefaultCharset UTF-8

Geht noch nichts :-/

EDITH sagt: ich bekomme privat hilfe, danke für die mühe - hat sich dann erledigt.

Wenn .htaccess im Spiel ist, muß nach dem Server-Upload der Browsercache geleert werden, damit auch die aktuelle Version vom Server geladen wird.

:mad::mad: Und somit ist dieser Thread ad absurdum geführt, Glückwunsch! :mad::mad:

Einen Beitrag ändern, um z.B. (Tipp)Fehler zu berichtigen, oder noch was an weiteren Infos o.ä. nachzureichen, kein Problem - völlig legitim, mach’ ich selbst.

Ihn aber komplett durch einen neuen Inhalt zu ersetzen, nachdem darauf (von mir) schon geantwortet wurde? Hallo? Geht garnicht!

Deshalb war ich so frei, die ursprüngliche Version zurückzuholen, und Deinen gekonnten Abgang unten d’ranzutackern.

So behält meine Antwort weiterhin ihren sinnvollen Kontext :stuck_out_tongue:

Mit einem -[SIZE=3]am Sonntagnachmittag in Rekordzeit (19 minütiges Zeitfenster Posting - EditPosting) engagierten[/SIZE]- Privatlehrer im Rücken, wirst Du hoffentlich die Hilfe unseres Forums nicht weiter in Anspruch nehmen, um auf so eine Art und Weise die kostbare (Frei)Zeit der Helfer zu beanspruchen, und für Unruhe in der Community zu sorgen - siehe @bdt600 's Kommentar :frowning:

Hier heisst es zumindest schon mal für Dich: Schicht im Schacht!!!