Asunto (subject) de emails con caracteres especiales
(QR Code)Muchas veces pasa que en nuestras aplicaciones requerimos el envío de eMails, y muy posiblemente en el subject del mismo queramos poner textos con acentos u otros caracteres, y nos encontramos con la sorpresa de que esos caracteres no sale correctamente.
El error es debido a que las cabeceras de coreo se procesan como datos de 7 bits. Para corregir esto hemos de codificar la linea subject para usar otra codificación, la mas típica es la Base64 (“B”).
Para la codificación del subject en Base 64 debemos simplemente de crear una nueva cadena de Subject con el formato
=?CHARSET?B?CODIGOBASE64=?=
donde CHARSET es la codificación de la cadena (Ej: UTF-8 o ISO-8859-1) la B indica que la cadena ira codificada en Base64 y en el espacio donde eta CODIGOBASE64 ira la cadena del subject codificada.
de modo que quedaría algo tal que así en la cabecera (para la cadena “Acentos á é í ó &úacute; ñ ñ á é í ó &úacute;” y con codificación UTF-8 usando Base64):
Subject: Acentos =?UTF-8?B?w6Egw6kgw60gw7Mgw7ogw7Egw5Egw4Egw4kgw40gw5Mgw5o=?=
Otra cosa que podemos ver en este ejemplo es que no todo el Subject esta codificado, la palabra “Acentos” esta fuera de la codificación, se pueden codificar solo partes del Subject y no el Subject entero.
Esto es muy &úacute;til especialmente en PHP , donde el envío de email se realiza a bajo nivel y no codifica automáticamente la cabecera.
Para realizar la codificación en Base64 en PHP tenemos la función base64_encode lo que nos hace el proceso mucho mas sencillo.










Asunto (subject) de emails con caracteres especiales
Como solucionar los problemas de codificación del subject al enviar un email usando las funciones "simples" de envio de emails
31/05/2007 12:37
PASENSE AL HOYGAN; EL HOYGAN ES UN LENGUAGE SUPERIOR K NO NESESITA ASENTOS; SE HESCRIVE CON MALLUSCULAS HAORRANDO KARAKTERES; Y KEDA KOMO MAS KOMPRIMIDO; KON 4 VITS BAMOS K NI SOVRADOS!1!!!!
GRASIAS DE ANTEBRAZO
31/05/2007 16:47
No entiendo bien que es lo que hay que poner en el codigo php…
19/02/2009 14:13