Zend_Mail与邮件正文中的法语字符

Son*_*ngo 10 php encoding zend-framework zend-mail

我正在尝试Zend_Mail使用以下代码发送邮件:

 function sendMail() {

     $config = array('auth' => 'login',
                'username' => 'UserName',
                'password' => 'Password',
                'port'=>'27');    

    $mail = new Zend_Mail(); 

    $mail->setBodyText($mailBody);

    $mail->setFrom('example@host.com', 'The Company Name');
    $mail->addTo('example@host.com', 'Recipient Name');
    $mail->setSubject('Mail subject');    
    $mail->send(new Zend_Mail_Transport_Smtp('example@server.com', $config));
}
Run Code Online (Sandbox Code Playgroud)

现在的问题是$mailBody有法语字符.例如:

Merci d'avoir passé commande avec Lovre. Voici le récapitulatif de votre commande
Run Code Online (Sandbox Code Playgroud)

当然后查看发送的邮件时,同样的行显示如下:

Merci d'avoir pass? commande avec Lovre. Voici le r?capitulatif de votre commande
Run Code Online (Sandbox Code Playgroud)

口音被问号所取代!我尝试使用编码邮件正文utf8_encode,但问题仍然存在.

注意:使用的文本文件读取正文内容file_get_contents.

Max*_*nce 24

您必须在Zend_Mail构造函数中将编码设置为UTF-8:

$mail = new Zend_Mail('UTF-8'); 
Run Code Online (Sandbox Code Playgroud)

还要确保$ mailBody包含UTF-8文本.