PHP Mailer UTF-8 Проблемы с кодировкой

Недавно я работал над сайтом и решил включить в него PHPMailer. Проблема в том, что я венгр, и сайт полностью на венгерском, поэтому мне пришлось использовать кодировку UTF-8. Почтовик PHP, который я решил использовать, еще не способен использовать UTF-8, и я не могу понять, как заставить его повторять вещи в моем предпочтительном наборе символов. Пожалуйста помоги!

<?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.';
}

?>

2

Решение

Попробуйте заменить:

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

от:

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

Здесь отлично работает.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]