php - 将 Unicode UTF8 添加到电子邮件

标签 php email unicode utf-8

谁能帮助我如何为这些字符添加 utf-8 Unicode?

žýáťčšľľzŽŘ

现在邮件看起来像这样

Dostali ste novú správu. Tu sú podrobnosti: Jméno: tár Tel.Äíslo: 4996611

<?php

$EmailFrom = "...";
$EmailTo = "mail@mail";
$Subject = "Zpráva s ";
$name = Trim(stripslashes($_POST['name'])); 
$phone = Trim(stripslashes($_POST['phone'])); 
$email = Trim(stripslashes($_POST['email'])); 
$message = Trim(stripslashes($_POST['message'])); 

// 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 .= $phone;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $email;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $message;
$Body .= "\n";

// send email 
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

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

谢谢

最佳答案

您的脚本有两个不明确的部分,其中没有考虑字符集。可能您的表单未发送 UTF-8,或者您可能在电子邮件中发送 UTF-8,但客户期望使用不同的编码。

  1. 我假设您正在使用表单发布数据。确保它设置为从浏览器发送 UTF-8。字符串现在将采用 UTF-8 编码。

    <form action="myform" accept-charset="UTF-8">
    
  2. 您需要将字符集和传输编码 header 添加到电子邮件 header :

    $success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>\r\nContent-Type: text/plain; charset=UTF-8\r\nContent-Transfer-Encoding: 8bit");
    

顺便说一句,重定向用户的更快方法是在响应中设置 Location header 。使用:

header('Location: contactthanks.php')

关于php - 将 Unicode UTF8 添加到电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19997052/

相关文章:

php - GAPI 无法验证用户身份

html - 电子邮件模板 HTML 图像未出现在 gmail 中

python - Unicode 字符在 kivy python 中不起作用

Java unicode字节解析

python - 如何使用 flask 框架在 python web 应用程序中后台发送电子邮件?

unicode - ghc 6.12.1、System.Environment.getArgs 和 UTF-8

php - 如何使用 PHP 从 mySQL 中的表中选择某些字段

javascript - 识别相同的 "Feeling Lucky"搜索

php - 为什么这段代码给我重复的结果?

php - 电子邮件服务器;如何配置 postfix 以满足我的需要? (我需要 SASL 或/和 TLS 吗?)