Outlook会跳过(ë,ê,é)

时间:2019-04-17 09:45:46

标签: php sql email outlook phpmailer

我正在开发一个在创建帐户后向用户发送确认电子邮件的应用程序。我的客户希望具有此功能以便编辑邮件的内容。我已经通过一个带有邮件文本内容的简单SQL表实现了这一点。

但是,我仍然遇到字符编码问题。这种情况: 创建帐户后,PHPMailer会创建并发送一封邮件。内容是从数据库中请求的,并像这样在邮件正文中打印:

<tr>
    <td colspan=2 style="text-align:left;">
        <br><br>
        <span>' . $mailData->intro_french . '</span>
        <br><br>
    </td>
</tr>

$ mailData-> intro_french是一个包含字符á的字符串:“ BienvenueàReproNet Lite!”。

现在问题开始了。每当此邮件发送到Outlook客户端时,所有特殊字符都会被剥夺。该字符串将显示为:“ Bienvenue ReproNet Lite!”。

但是,当此邮件发送到任何其他客户端(例如Gmail)时,所有特殊字符都会保留并正常显示。

由于这个原因,我认为这将是一个Outlook问题。但是我试图像这样直接将特殊字符打印到邮件中,并且一切正常:

<tr>
    <td colspan=2 style="text-align:left;">
        <br><br>
        <span>Bienvenue á ReproNet Lite!</span>
        <br><br>
    </td>
</tr>

我已经按照以下步骤在PHPMailer中设置了字符集:

$mail = new PHPMailer();
$mail->CharSet = 'UTF-8';

我的邮件还具有以下标签:

<meta http-equiv="content-type" content="text/html; charset=utf-8">

邮件内容存储在utf8_general_ci表中。

因此,这似乎是Outlook问题或我的数据库出现问题。我想了解为什么会首先发生这种情况,其次要如何解决此问题。

0 个答案:

没有答案