发送电子邮件和PHP中的字符编码 [英] Character Encoding in Sending Email and PHP
本文介绍了发送电子邮件和PHP中的字符编码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个简单的联系人页面,用于发送电子邮件,其中包含以下代码的联系人数据。但我不能读任何他们,因为字符是不可读的。根据我的网站内容我猜这些电子邮件是阿拉伯语。我在我的浏览器视图中尝试这么多字符编码,但问题仍然存在。例如,这是一封电子邮件的一部分:اÙÙ...دپÙر
我想知道该代码的错误,我如何解决它,以及如何从以前的电子邮件阅读文本? p>
I have a simple contact page that sends email with contact data with code below. But I can not read any of them because the characters are not readable. Based on my website content i guess these emails are Arabic. I tried so many character encoding in my browser view but the problem still exists. For example,Thats a part of one email :اØمدپور I want to know whats wrong with that code, How I can fix it and how I can read the texts from previous emails?
<?php
$EmailFrom = "info@example.com";
$EmailTo = "info@example.com";
$Subject = Trim(stripslashes($_POST['City']));
$Name = Trim(stripslashes($_POST['Name']));
$Tel = Trim(stripslashes($_POST['Tel']));
$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 .= $Tel;
$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\">";
}
?>
推荐答案
试试
$header = "From: <$EmailFrom> \r\n";
$header .= "MIME-Version: 1.0 \r\n";
$header .= "Content-Type: text/html;charset=utf-8";
$success = mail($EmailTo, $Subject, $Body, $header );
这篇关于发送电子邮件和PHP中的字符编码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文