我正确收到了电子邮件。出于安全考虑,我隐藏了我的重新密钥,但这部分工作正常。当我收到电子邮件时,主题的特殊字符会正确显示。但是,如果在消息中发送了法语口音(例如éèàç
),则显示如下(éèà ç
)。由于这是一个法国网站,这是一个真正的问题。我在邮件功能中尝试了utf8_encode($message)
,但无济于事。我查看了其他stackoverflow帖子但没有帮助。同样在消息中,此部分显示为Content-type: text/plain; charset=UTF-8'
。这可以避免吗?
<?php
if(isset($_POST['valider'])) {
$url = 'https://www.google.com/recaptcha/api/siteverify';
$privateKey = "secret";
$response = file_get_contents($url."?secret=".$privateKey."&response=".$_POST['g-recaptcha-response']."&remoteip=".$_SERVER['REMOTE_ADDR']);
$data = json_decode($response);
if(isset($data->success) AND $data->success==true){
$rusty = 'email@email.com';
$destinataire = $_POST["email"];
$message = utf8_encode(wordwrap($_POST['message']));
$subject = "Question pour la méthode EtVoilà";
$headers = 'From:' . $destinataire."\n";
$header_ = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n";
if(mail($rusty,'=?UTF-8?B?'.base64_encode($subject).'?=',$message,$header_ . $headers)) {
header('Location: index.php?MessagePass=True');
} else {
header('Location: index.php?MessageError=True');
}
}
}
?>
答案 0 :(得分:0)
我发现函数iconv对我有用,这是新的部分以防有人遇到同样的问题。我只是在下面的代码中添加第二行。
LinkedHashSet