UTF-8-Codierung für "Thema" in-Kontakt-Formular E-Mail
Auf diesen Seiten Website-Link Kontaktformular, ich senden müssen Sie den Betreff für E-Mail in UTF-8.
Wo in der code, den wir tun müssen, erklären die UTF-8-Codierung?
kontakt.php:
<?
require_once "php/sendmail.class.php";
$sendmail = new sendMail();
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$sendmail->setParams($_POST);
$sendmail->parseBody();
$sendmail->setHeaders();
if ($sendmail->send())
{
header('Location: kontakt.php?success=1');
}
}
?>
sendmail.class.php:
class sendMail {
var $to = 'email'; //set contact email
var $name = '';
var $subject = '';
var $email = '';
var $body = '';
var $error = array();
var $headers = array();
function setHeaders()
{
$this->headers = "From: $this->email\r\n";
$this->headers.= "MIME-Version: 1.0\r\n";
$this->headers.= "Content-type: text/html; charset=UTF-8\r\n";
}
function parseBody()
{
$message = '<html><body>';
$message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
$message .= '<tr style="background-color: #eee;"><td><strong>Name:</strong> </td><td>' . $this->name . '</td></tr>';
$message .= "<tr><td><strong>E-Mail-Adresse:</strong> </td><td>" . $this->email . "</td></tr>";
$message .= "<tr><td><strong>Betreff:</strong> </td><td>" . $this->subject . "</td></tr>";
$message .= "<tr><td><strong>Text:</strong> </td><td>" . $this->body . "</td></tr>";
$message .= "</table>";
$message .= "</body></html>";
$this->body = $message;
}
function send()
{
if ($this->error)
{
return FALSE;
}
if (mail($this->to, $this->subject, $this->body, $this->headers))
{
return TRUE;
}
else
{
$this->error[] = 'Fehler beim senden';
return FALSE;
}
In das Thema muss ich die utf-8 Deutsche Zeichen-Codierung. Wo müssen wir erklären es in dem code? Für die Meldung fand ich heraus, was zu tun, aber für das Thema habe ich keine Lösung gefunden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
hier ist, wie ich es gemacht habe:
ist ofc nur Latin-15 (Deutsch) - Codierung. utf-8 funktioniert auf die gleiche Weise:
schauen Sie hier für eine tolle Erklärung, wie der Zeichenkodierung in der E-mail-Kopfzeilen:
http://ncona.com/2011/06/using-utf-8-characters-on-an-e-mail-subject/
für Ihren code, den Sie haben, dies zu ändern, in der sendmail-Klasse:
! dies funktioniert nur ordnungsgemäß, wenn Ihre php-Datei in utf-8 kodiert !
immer noch sehr ärgerlich. dann wechselte ich zu phpmailer. das macht alles für Sie. viel mehr einfach. ich würde dir empfehlen dass die Verwendung.
Oder kann man ersetzen, ein $this->subject-variable mit
Ersetzen Sie einfach
mit einer anderen Kodierung ( utf-8 oder etwas anderes )