Utf 8 发送邮件时字符错误
我在PHP中使用mail()函数发送电子邮件时遇到了字符设置问题 我在其中编写PHP代码的实际文件是UTF-8字符集。我还确保在电子邮件的标题中设置了charset=UTF-8,我甚至在标题中为基本HTML内容添加了一个meta标记。但是,它仍然不起作用 以下是PHP代码的外观:Utf 8 发送邮件时字符错误,utf-8,php,Utf 8,Php,我在PHP中使用mail()函数发送电子邮件时遇到了字符设置问题 我在其中编写PHP代码的实际文件是UTF-8字符集。我还确保在电子邮件的标题中设置了charset=UTF-8,我甚至在标题中为基本HTML内容添加了一个meta标记。但是,它仍然不起作用 以下是PHP代码的外观: // Prepare the e-mail to the GUEST $to = $email; $subject = "PÅMINNELSE: Bekräfta registrering för Event"; /
// Prepare the e-mail to the GUEST
$to = $email;
$subject = "PÅMINNELSE: Bekräfta registrering för Event";
// Defining the headers
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=UTF-8" . "\r\n";
$headers .= "From: Pre-registration <event@adomain.com>" . "\r\n";
include("gemailreminder.php");
// Send the mail now!
mail($to, $subject, $message, $headers);
//准备给客人的电子邮件
$to=$email;
$subject=“PÅMINNELSE:Bekräfta登记för事件”;
//定义标题
$headers=“MIME版本:1.0”。“\r\n”;
$headers.=“内容类型:text/html;字符集=UTF-8”。“\r\n”;
$headers.=“发件人:预注册”。“\r\n”;
包括(“gemailrementer.php”);
//现在就发邮件!
邮件($to、$subject、$message、$headers);
包含的文件gemailRemembers.php的内容如下所示:
<?php
$message = <<< MESSAGE
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>REMINDER E-MAIL</title>
</head>
<body>
<p >text...</p >
</body>
</html>
MESSAGE;
?>
有什么建议可以帮我解决这个问题吗
提前谢谢
//Andreas包含非ascii字符的电子邮件内容必须使用base64编码发送 使用PHP的
base64_encode()
函数很容易做到这一点,但坦率地说,在使用PHP的mail()
函数时,有太多类似的怪癖需要注意
我的建议是使用已经编写的现有类mailer类中的一个,它为您完成了所有艰苦的工作——不再弄乱标题,不再担心编码,发送附件变得容易等等
通常推荐的a类和类
使用它们中的任何一个,我保证您再也不想直接调用旧的
mail()
函数了。您必须将gemailrementer.php保存在utf-8中,使用您的编辑器设置来完成此操作。仅供参考:
出于某种奇怪的原因,它突然又开始工作了。
也许我的webhotel提供商在那里的一段时间内在服务器或设置上出现了一些问题
我感谢你花时间和精力提供答案。我仍然会更加熟悉Swiftmailer和phpMail这两个类
真诚地,
Andreas您使用过瑞典语吗?@VIVEK-MDU是的,这是电子邮件中的瑞典语字符。您可以将charset=UTF-8“更改为charset=ISO-8859-1”更改为charset=ISO-8859-1“更改此$headers可能对您有帮助。=“内容类型:text/html;charset=ISO-8859-1”。“\r\n”@VIVEK-MDU问题是,我确实使用存储在UTF-8中的信息查询数据库,因此我的推理是,如果我在UTF-8中始终如一地执行所有操作,我将不会遇到任何问题。谢谢您的回复。奇怪的是,它已经起作用了,但现在突然不起作用了。我将研究如何使用Swiftmailer或phpMailer类。我所有的PHP文件都是用utf-8编写的。