Зенд почту с французского символов в теле сообщения


Я пытаюсь отправить письмо с помощью 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));
}
Теперь проблема в том, что $mailBody имеет французские символы. например:
Merci d'avoir passé commande avec Lovre. Voici le récapitulatif de votre commande

При просмотре отправленной почты та же строка выглядит следующим образом:

Merci d'avoir pass? commande avec Lovre. Voici le r?capitulatif de votre commande

Акценты были заменены вопросительным знаком! Я попытался закодировать тело письма с помощью utf8_encode, но проблема все еще сохранялась.

Примечание: содержимое тела считывается из текстового файла с помощью file_get_contents.

2 8

2 ответа:

Вы должны установить кодировку UTF-8 в конструкторе Zend_Mail:

$mail = new Zend_Mail('UTF-8'); 

Убедитесь также, что $mailBody содержит текст UTF-8.

Используйте :

$mail->setBodyHtml();

Вместо:

$mail->setBodyText();

Проблема будет короткой.