Ver Mensaje Individual
  #5 (permalink)  
Antiguo 15/11/2013, 19:06
Avatar de berkeleyPunk
berkeleyPunk
 
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
De acuerdo Respuesta: He probado todo lo que he leído y NO logro que se muestren tildes con UTF-

Cita:
Iniciado por andresdzphp Ver Mensaje
Me gustaría ver ese código, insisto:

¿Tienes un Content-type dentro de los headers del email?...
Uh, caray! Pues entonces la respuesta a tu pregunta es: no.

Explico.
Yo, en mi ingenuidad todavía, entiendo lo siguiente. Si envío un mensaje a la bandeja de entrada de una cuenta de correo, ese mensaje se abrirá dentro de un documento HTML, PHP, ASPX o lo que sea (creado por Google si es Gmail, o Microsoft si es Hotmail, etc), que, imagino, contiene ya una etiqueta <html>, una etiqueta <head> y el resto (¿o existen páginas web que prescindan absolutamente de esas etiquetas -creo que ni siquiera un CMS como Joomla, que arma una página web sin documentos HTML visibles, prescinde de dichas etiquetas: ya hice la prueba poniendo esas etiquetas a un artículo y se desordena todo, esto pasa, imagino, porque en el fondo ya existe una etiqueta html, head, etc).

Ahora, entiendo que si pongo un Content-type dentro de una etiqueta head al archivo PHP que contiene el mensaje a enviar, entonces tengo que poner las etiquetas html, head, etc. Y si las pongo, todo ese documento PHP quizá tenga alguna dificultad (visible/invisible) para mostrarse en la bandeja de entrada del correo del destinatario (bandeja que, como ya expresé, yo creo que cuenta ya con dichas etiquetas).

De ahí que el archivo PHP que contiene el mensaje no cuente con nada más que esto:
Código PHP:
<?php
$instrucciones 
.= '<table style=" background-color:lightgray;">';
$instrucciones .= '  <tr>';
$instrucciones .= '    <td style="color:firebrick; font-size:40px; text-align:left; min-width:700px; max-width:700px;">';
$instrucciones .= '      Qué es la personología';
...
...
... 
// más y más tablas...
?>
Lo que sí probé, fue poner, inmediatamente abajo de <?php, esto:

Código PHP:
header("Content-Type: text/html;charset=utf-8");
ini_set('default_charset','utf-8'); 
Lo cual equivale, creo, al Content-type que se pone dentro de la etiqueta head. Pero no me funcionó, como ya había comentado.

Sé que bombardearás todo lo que he dicho y que mostrarás probablemente muchos errores. Ojala lo hagas, así aprendemos.


PD. Envío el mensaje con ayuda de PHPmailer. Pero según el código que has mostrado para poner en las cabeceras el Content-Type, debo buscar si PHPmailer cuenta con la función para declarar ahí el charset. Igual y con eso se soluciona el problema.

Saludos!

Última edición por berkeleyPunk; 15/11/2013 a las 19:22