如何设置php联系人表单以UTF编码发送信息


how to set php contact form to send informations in UTF encoding

我使用一个简单的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)