TigerZF
🌐Español

45.10. Juegos de caracteres

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.

[Note] 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();