PHP Mailer UTF-8-Encoding-Probleme

Habe ich gearbeitet, auf einer website vor kurzem und beschlossen, ein PHPMailer. Das problem ist, ich bin Ungarisch, und die Seite ist komplett in ungarischer Sprache zu, so musste ich für das verwenden der UTF-8-Zeichensatz. Der PHP-mailer habe ich beschlossen, zu verwenden, ist noch nicht in der Lage, UTF-8 und ich kann nicht herausfinden, wie man es echo Dinge, die in meine bevorzugte Zeichensatz. Bitte um Hilfe!!

<?php

require_once('phpmailer/class.phpmailer.php');

$mail = new PHPMailer();

if( isset( $_POST['template-contactform-submit'] ) AND $_POST['template-contactform-submit'] == 'submit' ) {
    if( $_POST['template-contactform-name'] != '' AND $_POST['template-contactform-email'] != '' AND $_POST['template-contactform-message'] != '' ) {

        $name = $_POST['template-contactform-name'];
        $email = $_POST['template-contactform-email'];
        $phone = $_POST['template-contactform-phone'];
        $service = $_POST['template-contactform-service'];
        $subject = $_POST['template-contactform-subject'];
        $message = $_POST['template-contactform-message'];

        $subject = isset($subject) ? $subject : 'New Message From Contact Form';

        $botcheck = $_POST['template-contactform-botcheck'];

        $toemail = ''; //Your Email Address
        $toname = ''; //Your Name

        if( $botcheck == '' ) {

            $mail->SetFrom( $email , $name );
            $mail->AddReplyTo( $email , $name );
            $mail->AddAddress( $toemail , $toname );
            $mail->Subject = $subject;

            $name = isset($name) ? "Név: $name<br>" : '';
            $email = isset($email) ? "E-mail: $email<br><br>" : '';
            $message = isset($message) ? "Üzenet: $message<br>" : '';

            $referrer = $_SERVER['HTTP_REFERER'] ? '<br><br><br>Az üzenetet továbbította: ' . $_SERVER['HTTP_REFERER'] :'';

            $body = "$name $email $message $referrer";

            $mail->MsgHTML( $body );

            $mail->CharSet="UTF-8";

            $sendEmail = $mail->Send();

            if( $sendEmail == true ):
                echo 'Üzenet elküldve!';
            else:
                echo 'Üzenetküldés sikertelen. Kérlek próbáld újra!' . $mail->ErrorInfo . '';
            endif;
        } else {
            echo 'Bot vagy. Kérlek próbálkozz újra!';
        }
    } else {
        echo 'Kérlek tölts ki minden mezőt és próbáld meg újra!';
    }
} else {
    echo 'Valami félrecsúszott. Kérlek próbáld meg mégegyszer.';
}

?>
PHPMailer hat keine Probleme mit der UTF-8 - es ist mehr wahrscheinlich, dass Sie über ein Umwelt-problem, das bringt ihn bis. Sie eigentlich gar nicht sagen, was das problem ist oder wie/wo es erscheint. Eine Sache - msgHTML ganz viel, kann sein, abhängig von dem Zeichensatz, so dass die CharSet - Eigenschaft, bevor Sie ihn aufrufen. Auch stellen Sie sicher, dass Sie mit aktuellen PHPMailer - ich kann sehen, dass Sie haben, basiert der code auf ein altes Beispiel.
Das problem ist, wenn das Mailprogramm aufgerufen und die mail gesendet wird (oder ein Fehler accures) es gibt ein jquery-code auf der Website, druckt das entsprechende echo aus der mailer und es ist voll von "? " - Zeichen. Können Sie mir zeigen, ein Beispiel für die neuesten mailer oder können Sie link, pls?
OK, also die beschädigte chars sind auf der web-Seite, nicht in der E-Mail? Wenn ja, überprüfen Sie, dass Ihre Website ist die Einstellung der richtigen Charset im Content-type-header und, dass Ihr editor mit UTF-8 zu. PHPMailer, der hier lebt,, finden Sie Beispiele in den examples-Ordner.
Sie sind in der echo-s-und der E-mail auch bei $name, $email, $Nachricht, $referrer, wo das original Geschickt, die mail "Name: George" ich will es, senden Sie die ungarischen äquivalente "Név: George" und es sendet es so aus: "N�v: George" auch die echos anzeigen wie diese: "�zenet elk�ldve!" statt "Üzenet elküldve!" ("Nachricht gesendet!" in Englisch). Thx für den link. Werde brauen, durch.
OK, also es klingt wie Sie haben ein weit verbreitetes problem und UTF-8 Zeichen werden nicht gerendert richtig außerhalb PHPMailer.

InformationsquelleAutor Zsolt Bíró | 2015-07-22

Schreibe einen Kommentar