Tengo un sistema de correos que me permite enviar publicidad a mis clientes, pero tengo un problema algo raro que ya me tiene muy desesperado !...
Estando en mi plataforma web, doy click sobre un botón que instituí para hacerme un envío de prueba a mi correo y ver "como se supone les llegara a los demás antes de procesar envíos", y como método de prueba cree una campa~a con el asunto: "Curso Virtual de computación", tomando en cuenta que la palabra "computación" esta acentuada. Al dar click en TEST, me llega el corre a mi bandeja y veo que el ASUNTO llega con la palabra acentuada (computacion), vaya TODO MUY BIEN.
Así que, ahora hago un "segundo test", pero ahora utilizando cron en mi servidor dedicado, ya que cada vez que creo una campa~a espero a que cron haga los envios cada madrugada (esa es la idea de automatizar). Pero bueno.... Me voy a la shell y escribo:
Código:
shell# curl -u usuario:clave miscript.php?id=test
Y ahora veo mi buzón de correo y noto que ahora en el asunto la palabra "computacion" no llgo acentuada .... Sino que llego asi:
Código:
Curso Virtual de computación
Haciendo pruebas locales genere el sigueinte script local y lo corri en mi Apache Server:
http://localhost/test.php
Código:
<?php
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
$texto= 'Curso Virtual de computación';
echo '<b>limpio</b><br>'. $texto;
echo '<p><b>con decode</b><br>'. html_entity_decode( $texto, ENT_QUOTES );
?>
Al correr el script veo en limpio sale tal cual me llega al mail, y con decode me sale como "debería salirme en el buzón" (respetando las acentuaciones).
Ya verifique el charset default del httpd.conf y esta en UTF-8, ademas en miscript.php del cron tengo especificado el charset UTF-8.
--- ACTUALIZACION ---
Tengo que pasarle dos veces el html_entity_decode() al texto, cuando se esta ejecutando el test via CRON, para que pueda llegar la palabra acentuada. Pero, se me hace muy raro, ya que via web solo se le pasa una sola vez el html_entity_decode() y llega acentuada la palabra al mail.
Alguien sabe porque esto ?