AddThis Social Bookmark Button
AddThis Feed Button
Bio
Mi avatar Blog de un pequeño informaticú y sus ocurrencias y pequeñas notas de ayuda.
Citas
Loading Quotes...
100_9939
100_9938
100_9937
100_9936
100_9935
Categorias
links
31
May

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.


3 Comentarios

  • meneame.net Dice:

    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


  • HOYGAN Dice:

    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


  • Pollo Dice:

    No entiendo bien que es lo que hay que poner en el codigo php…


Quieres dejar un comentario?