没有重音的php邮件

时间:2014-07-14 09:14:50

标签: php email

我不明白为什么我收到我的电子邮件文本没有重音或混淆(éÃ'ã)与此PHP代码

<?php
$headers .= 'Content-type: text/plain; charset=UTF-8' . "\r\n";
$destinatario   = $_POST['destinatario'];
$remetente      = $_POST['nome'] . " <" . $_POST['email'] . ">";
$assunto        = $_POST['nome'];
$mensagem       = "Morada: ".$_POST['residencia']."\n";
$mensagem       .= "Código postal: ".$_POST['cpostal']."\n";
$mensagem       .= "Profissão: ".$_POST['profissao']."\n";
$mensagem       .= "Estado Cívil: ".$_POST['estado_civil']."\n";
$mensagem       .= "Telefone: ".$_POST['fixo']."\n";
$mensagem       .= "Telemóvel: ".$_POST['telemovel']."\n";
$mensagem       .= "E-mail: ".$_POST['email']."\n";
$mensagem       .= "Data Nascimento: ".$_POST['nascimento']."\n";
$mensagem       .= "Nacionalidade: ".$_POST['nacionalidade']."\n";
$mensagem       .= "Número contribuinte: ".$_POST['contribuinte']."\n";
$mensagem       .= "CC / BI: ".$_POST['cartao']."\n";

if (mail($destinatario, $assunto, $mensagem, "From: ".$remetente)) {
?>

3 个答案:

答案 0 :(得分:0)

请尝试使用以下内容类型:

Content-type: text/html; charset=UTF-8' .

答案 1 :(得分:0)

您应该使用设置为mail()功能的第4个参数在电子邮件中设置字符集。 尝试:

$headers = array("Content-Type: text/html; charset=UTF-8","From: ".$remetente);

然后

if (mail($destinatario, $assunto, $mensagem, $headers)) {

}

答案 2 :(得分:0)

使用此代码对主题字符串进行编码并记住名称。

$name = '=?utf-8?B?'.base64_encode($_POST['nome']).'?=';
$remetente = $name . " <" . $_POST['email'] . ">";
$assunto = $name;