我使用ZF2发送UTF-8编码的电子邮件:
$message->setEncoding('UTF-8');
有了这样的测试内容:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Test</title>
</head>
<body bgcolor="#FFFFFF">
ĄŚĆÓłąóźćżźęĄŚĆÓłąóźćżźęĄŚĆÓłąóźćżźę
</body>
</html>
现代浏览器或电子邮件客户端中的一切都是正确的。问题是旧的OutlookExpress无法识别这一点。消息随ISO一起显示。 我该怎么做才能让它正确阅读?
答案 0 :(得分:2)
我找到了解决方案。发送html时,该部分有自己的编码。设置UTF-8会使OE正确读取消息。
$html = new Mime\Part($text);
$html->type = Mime\Mime::TYPE_HTML;
$html->charset = 'utf-8';
答案 1 :(得分:0)
我猜OutlookExpress能够显示UTF8。但我遇到一种情况,即客户端设置强制ISO编码而不是通过电子邮件检测。所以检查outlookExpress的设置。
我要做的另一件事是使用UTF8编码从gmail发送电子邮件并在此OutlookExpress中读取它。 - 它是否显示出核心?如果是,请查看邮件来源并查看与您的邮件有何不同之处。如果没有,那么问题可能出在OutlookExpress的配置中。