Zend_Mail no comprueba que el juego de caracteres de las partes
del correo sea correcto. Al instanciar Zend_Mail, se puede
indicar un juego de caracteres para el propio e-mail. Por defecto es
iso-8859-1. La aplicación debe asegurarse de que todas las
partes añadidas a ese objeto de correo tengan su contenido codificado en el juego de
caracteres correcto. Al crear una nueva parte de correo, se puede indicar un juego de
caracteres diferente para cada parte.
![]() |
Solo en formato de texto |
|---|---|
Los juegos de caracteres solo son aplicables a las partes del mensaje en formato de texto. |
Ejemplo 45.11. Uso en idiomas CJK
El siguiente ejemplo muestra cómo utilizar Zend_Mail en
japonés. Este es uno de los idiomas CJK (también
conocidos como CJKV). Si utiliza chino, puede usar
HZ-GB-2312 en lugar de
ISO-2022-JP.
//We suppose that character encoding of strings is UTF-8 on PHP script.
function myConvert($string) {
return mb_convert_encoding($string, 'ISO-2022-JP', 'UTF-8');
}
$mail = new Zend_Mail('ISO-2022-JP');
// In this case, you can use ENCODING_7BIT
// because the ISO-2022-JP does not use MSB.
$mail->setBodyText(
myConvert('This is the text of the mail.'),
null,
Zend_Mime::ENCODING_7BIT
);
$mail->setHeaderEncoding(Zend_Mime::ENCODING_BASE64);
$mail->setFrom('somebody@example.com', myConvert('Some Sender'));
$mail->addTo('somebody_else@example.com', myConvert('Some Recipient'));
$mail->setSubject(myConvert('TestSubject'));
$mail->send();
![[Note]](images/note.png)