我使用一个简单的php邮件代码来制作联系人表格
<?php $name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent="From: $name 'n Message: $message";
$recipient = "info@cactuspics.com";
$subject = $_POST['subject'];
$mailheader = "From: $email 'r'n";
mail($recipient, $subject, $formcontent, $mailheader) or die("ERROR");
echo "EMAIL SENT";
?>
但问题是,当我在邮箱里收到电子邮件时,它是用ANSI编码的。像这样的东西:
با سلام به گالري
有没有办法强制php以UTF-8格式发送这些信息?因为我的访客在联系表格中使用阿拉伯字符。
我试着用这个,但还是没用:
'=?utf-8?B?'.base64_encode($formcontent).'?='
我还必须注意,我在HTML页面的元标记中声明了charset=utf8。
任何帮助都将不胜感激。
我只需要添加以下内容:
$headers .= 'Content-type: text/html; charset=utf-8' . "'r'n";
一切都很顺利。
这只是一个例子,更改值。。。。。。
$header = "From: contact@".$_SERVER["SERVER_NAME"]."'n";
$header .= "Content-Type: text/html; charset=utf-8'n";
$recipient = "info@cactuspics.com"
$subject = $_POST['subject'];
$body='<table width="90%" border="0">
<tr>
<td><b>Name:</b></td> <td>'.$name.'</td>
</tr>
<tr>
<td><b>Email:</b></td> <td>'.$email.'</td>
</tr>
<tr>
<td><b>Message:</b></td> <td>'.$message.'</td>
</tr>
<tr></table>';
$res=@mail($recipient,$subject,$body,$header)