utf 8 — Как мне сделать, чтобы моя php-форма принимала символы иностранных языков?

Я создал форму php, которая должна принимать иностранные символы (такие как традиционный китайский и вьетнамский). Это код, который я использую:

<?php

$EmailFrom = "Tristar Registration Request";
$EmailTo = "sbehringer@parsec-corp.com";
$Subject = "Tristar Registration Request";
$Name = Trim(stripslashes($_POST['Name']));
$Tel = Trim(stripslashes($_POST['Tel']));
$Email = Trim(stripslashes($_POST['Email']));
$Company = Trim(stripslashes($_POST['Company']));
$Address = Trim(stripslashes($_POST['Address']));
$Contact = Trim(stripslashes($_POST['Contact']));
$Message = Trim(stripslashes($_POST['Message']));
$headers .= 'To: Tristar <info@ghstag.com>' . "\r\n";

// validation
$validationOK=true;
if (!$validationOK) {
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
exit;
}

// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "Tel: ";
$Body .= $Tel;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Company: ";
$Body .= $Company;
$Body .= "\n";
$Body .= "Address: ";
$Body .= $Address;
$Body .= "\n";
$Body .= "Contact: ";
$Body .= $Contact;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;
$Body .= "\n";

// send email
$success = mail($EmailTo, $Subject, $Body, $headers);

//convert invalid strings
$newstring = iconv('UTF-8', 'UTF-8/IGNORE', $Body);

// redirect to success page
if ($success){
print "<meta http-equiv=\"refresh\" content=\"0;URL=registerthanks.html\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
?>

Когда я отправляю тест в Gmail, специальные символы проходят без проблем, но когда электронная почта проходит через Outlook, она выглядит как бред. Я пропускаю некоторую кодировку UTF-8 или это особая настройка без Outlook, которую мне нужно настроить, чтобы принимать иностранные символы. Любая помощь будет отличной!

0

Решение

Добавьте «Content-Type: text / html; charset = utf-8» к своим заголовкам электронной почты.

0

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

Я рекомендовал использовать, например, «Swiftmailer», иначе у вас все еще будут проблемы с (utf-8) mail-subject и многими другими mail-функциональными возможностями. : /

0