我让以下php脚本根据返回的参数发送电子邮件:

<?
header('Content-Type: application/json; charset=utf-8');
$headers  = "From: Source\r\n";
    $headers .= "Content-type: text/html;charset=utf-8\r\n";
    $to = $data["t_email"];
    $subject = "Hello";
    $message = (gather_post("locale") == "fr_CA")?"message français ééààèè": "english message";
    mail($to, $subject, $message, $headers);
?>

我已经把不相关的零件取出来了。消息将被发送,但口音将不会正确显示。一切都被设置为utf-8字符集,我不明白为什么这不起作用。

最佳答案

您可能需要使用utf8_encode()对html进行编码。例如:

$message = utf8_encode("message français ééààèè");

我必须这样做才能动态导入法语word文档,而且效果很好。如果这能解决你的问题,请告诉我。
更新(示例工作代码)
<?php
$to      = 'example@gmail.com';
$subject = 'subject';
$message = utf8_encode('message français ééààèè');
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

if(mail($to, $subject, $message, $headers)){
echo 'success!';
}
?>

10-01 07:17
查看更多