我不明白为什么我收到我的电子邮件文本没有重音或混淆(éÃ'ã)与此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)) {
?>
答案 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;