Page 1 of 1

Antispam - Umlaute werden nicht dargestellt

Posted: Mon Mar 19, 2012 4:55 pm
by t_f
Hallo Christopher!

Vielen Dank für dein tolles Script Antispam! Da ich es zum ersten mal verwende, ich leider kaum "Programmierkenntnisse" besitze, viel mehr Designer bin und nun so langsam verzweifele, folgende Bitte:

In der Ausgabe verursacht dein Script bei mir einen einzigen Fehler, der sieht so aus:
https://img.skitch.com/20120319-fhww7x4 ... i1g3t3.jpg bzw so:
Rückruf gewünscht
Die beiden Umlaute werden nicht korrekt dargestellt. Im Original sieht's so aus:

Code: Select all

$felder_checkbox=array('Rückruf gewüscht');
Und das, obwohl ich im Header

Code: Select all

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
und vor dem Script noch mal extra

Code: Select all

header('Content-Type: text/html; charset=utf-8');
verwendet habe.

Wo könnte der Fehler liegen? Ich wäre Dir sehr dankbar für einen Tipp oder Hilfestellung.
LG, t_f

Re: Antispam - Umlaute werden nicht dargestellt

Posted: Mon Mar 19, 2012 5:14 pm
by Christopher
Hallo t_f,

freut mich dass dir mein Script gefällt.
Das Problem: Das Script macht die Feldnamen für Bots unkenntlich, indem es sie in ASCII-Codes umwandelt. Das geht mit den UTF8-Zeichen schief.

Im Anhang findest du eine auf UTF8 angepasste Version. Probiere sie bitte aus und lass mich wissen, ob sie wie gewünscht funktioniert!
kontakt_1-4_UTF8.zip
Kontaktform v. 1.4 angep. für UTF8
(3 KiB) Downloaded 2757 times


Der wesentliche Unterschied ist die Funktion ascii_encode()

Viele Grüße,
Christopher

Re: Antispam - Umlaute werden nicht dargestellt

Posted: Mon Mar 19, 2012 5:40 pm
by t_f
Super! Danke für deinen Hinweis!
Das hier hat den Unterschied zu meinem Script gemacht:

Code: Select all

// Funktion zum "Verschlüsseln" der Feld-Bezeichner in ASCII
function ascii_encode($str)
 {
 $ascii="";
 for ($i=0; $i < strlen($str); $i++)
  {
  $o=ord($str[$i]);
  $ascii .= ($o<128?'&#'.ord($str[$i]).';':$str[$i]);
  }
 return $ascii;
 }
VIELEN DANK!!!

Re: Antispam - Umlaute werden nicht dargestellt

Posted: Wed Jan 16, 2013 4:17 pm
by Alex
Hallo,

ich muss da nochmal nachhaken, das Form zeigt jetzt die Umlaute korrekt an aber die versendete E-Mail hat immer noch die verkrüppelten Umlaute, wie bekommt man das gerade?

Alex

Re: Antispam - Umlaute werden nicht dargestellt

Posted: Wed Jan 30, 2013 7:28 pm
by Christopher
Hi!

Entschuldige die späte Antwort.

Das bekommt man in den Griff, indem man noch den Charset der Mail im Header der Mail angibt.

Die Version im Anhang tut das.

Beste Grüße,
Christopher