Datenschutz Impressum

NOF-Schule | Forum

zur Schule NOF-NetObjects-Tutorials von Tommy Herrmann


Kontaktformular zerlegt mir Zeichencode UTF8
#1
Hallo zusammen

Da ich neu hier bin kurz zu mir. Ich bin der Christian, 39 Jahre alt, verheiratet, keine mir bekannten Kinder und darf mich geprüfter Webdesigner (ILS) schimpfen. Leider sitze ich gerade an einem Problem mit dem Designer eher weniger zu tun haben.


Ich erstelle gerade eine Seite für einen Bekannten und habe ein Problem mit dem Kontaktformular welches ich über die Toolseite von Werner Zenk erstellt habe. Die Seite ist soweit fertig und kommt auch gut an. Emails gehen raus, an den Absender wie auch Empfänger. Alles soweit wunderbar. Problem seit ich das Formular eingebunden habe ist, sämtliche Umlaute, Symbole und sonst was sind durch ein Fragezeichen ersetzt als ob ich keinen Zeichencode definiert habe. Die entsprechende html Seite habe ich in .php umbenannt.

Was auffällt und vielleicht der Hinweis zur Lösung ist, die Emails sind ebenfalls mit Fragezeichen durchzogen. Empfänger wie Absender

Hier der gekürzte Teil.

Wäre schön wenn mir jemand helfen könnte, denn Formulare und php sind nicht wirklich meine Baustelle

Code:
<!doctype html>
<html lang="de">
  <head>
    <meta charset="utf-8">
  </head>
  <body>
     
<?php
/*
   Aktion: Formulardaten als E-Mail versenden.
   Formular - PHP 5.4+, Zeichenkodierung: UTF-8
   Siehe: https://werner-zenk.de/tipps/schriftzeichen_richtig_darstellen.php


/.../


  // E-Mail versenden
  mb_internal_encoding("UTF-8");
  $Betreff = mb_encode_mimeheader($betreff, "UTF-8", "Q");
  $Kopfzeile = "MIME-Version: 1.0;\nFrom: " . mb_encode_mimeheader($name, "UTF-8", "Q") .
   "<" . $email . ">" . "\nContent-Type: text/plain; Charset=UTF-8;\n";


/.../


  // E-Mail Kopie versenden
  $Betreff = mb_encode_mimeheader($Betreff, "UTF-8", "Q");
  $Kopfzeile = "MIME-Version: 1.0;\nFrom: " . mb_encode_mimeheader($Signatur, "UTF-8", "Q") .
    "<" . $Mailto . ">" . "\nContent-Type: text/plain; Charset=UTF-8;\n";
  if (mail($email, $Betreff, $Text, $Kopfzeile)) {
   echo "<p>Sie erhalten eine Kopie der Nachricht an Ihre E-Mail-Adresse.</p>";
  }
}
else {

  // Formular und Benutzer-Eingabefehler ausgeben
  echo "<p><span class='pflichtfeld'><strong>Eingabefehler, Bitte korrigieren</strong></span></p>";
  echo $Formular;
}
}
else {

// Formular ausgeben
echo $Formular;
}
?>
     
     
/.../

     
</body>
</html>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
#2
Moin Christian,

herzlich willkommen bei uns im Forum :hallo:

Grundsätzlich ist es auch immer hilfreich hier einen Link zu Deiner Problemseite zu posten, sodass man das sehen und prüfen kann.

Das deutet sehr auf eine falsche Kodierung des Skriptes, dass Du in Mobirise eingebaut hast, hin. Nicht nur die HTML-Ausgabe muss bei PHP zwingend auf "UTF-8" stehen, sondern auch das Skript selbst muss in UTF-8 kodiert sein. Das sind diese auch bei der Ausgabe vom "Formular Generator" beim Werner.

Du musst zwingend darauf achten, dass die Kodierung des Skriptes selbst auch auf UTF-8 erhalten bleibt. Du darfst also das Skript nicht z.B. über einen Texteditor wie "Word" bearbeiten.

Bitte verwende zur Bearbeitung und zum Umkopieren von Skripten für HTML-Seiten einen dafür geeigneten Editor, wie z.B. "Notepad++". Dort kannst Du die Kodierung prüfen und gegebenenfalls auch ändern (siehe Screenshot).

https://notepad-plus-plus.org/


.jpg  Kodierung_im_Notepad.jpg (Größe: 454,22 KB / Downloads: 11)


Vergleiche auch nochmals mit meinem Tutorial zum Einbau dieser Formular-Skripte in Mobirise:

http://www.mobirise-tutorials.com/Formul...mular.html
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
#3
Hallo und danke für deine Antwort

Ja ich bin nicht untätig geblieben und hab natürlich weiter alles versucht. Ich habe sämtliche Quelltexte aus dem Brackets rauskopiert und sie ins Notepad++ übertragen und da auf die richtige Speicherung ohne BOM und CRLF geachtet. Hat trotzdem nichts bewirkt. Ich vermute das ich mir da irgendwas als Altlast über die Jahre immer mit kopiert habe. Trotzdem hat das mein Problem nicht gelöst.


Neben der Codierung bin ich nach einem Anruf bei Hetzner zu einer weiteren Lösung gekommen. Seit ich da über eine HTAccess Datei den ganzen Code parsen lasse klappt es mit jedem Kontakformular. Bin jetzt gerade dabei das von Werner Zenk wieder einzubauen. Von allen getesteten kann ich damit am besten arbeiten. Es ist sehr übersichtlich aufgebaut. 

Hier noch die htacess

Code:
FcgidWrapper "/home/httpd/cgi-bin/php74-fcgi-starter.fcgi" .html
FcgidWrapper "/home/httpd/cgi-bin/php74-fcgi-starter.fcgi" .htm
<FilesMatch "\.(html|htm)$">
SetHandler fcgid-script
</FilesMatch>

Fragt mich nicht warum aber es funktioniert. Wenn ich mal Zeit habe muss ich mich wohl mehr mit php auseinander setzen. Hab es bisher nie gebraucht.....

Gruß Christian und vielen Dank
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Wochentag beim KontaktFormular? stobi_de 11 831 28.03.2020, 23:21
Letzter Beitrag: Werner123
  Kontaktformular via PHP-Include stobi_de 13 1.776 16.10.2017, 10:28
Letzter Beitrag: stobi_de
  Kontaktformular mit PHP 5.6 Doris Rehhausen 41 6.204 12.07.2017, 20:10
Letzter Beitrag: Doris Rehhausen
  Kontaktformular webbausteine-Zweiten E-Mail Empfänger eingeben Thomas Saake 11 6.315 10.08.2016, 16:13
Letzter Beitrag: Thomas Saake
  Kontaktformular von Webbausteine.de Vorschau ändern ? Snoopyhund2006 10 4.445 29.12.2014, 20:45
Letzter Beitrag: Tommy Herrmann
  Probleme mit der Darstellung php Kontaktformular von Webbausteine Samaha Fe 14 3.838 21.01.2014, 15:15
Letzter Beitrag: Samaha Fe



Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
nach oben An den Anfang der Seite scrollen
NetObjects Fusion Infos, Downloads und Updates Diese Website wird durch Bot-Trap vor Spam geschützt!