Foros del Web » Creando para Internet » HTML »

Envio Email no convierte caracteres espceciales

Estas en el tema de Envio Email no convierte caracteres espceciales en el foro de HTML en Foros del Web. hola gente... alguien me puede explciar por que al enviar un mensaje el texto de un textarea, me envia con caracteres especiales???... hago las respectivas ...
  #1 (permalink)  
Antiguo 26/10/2011, 11:33
 
Fecha de Ingreso: septiembre-2008
Mensajes: 192
Antigüedad: 15 años, 7 meses
Puntos: 1
Información Envio Email no convierte caracteres espceciales

hola gente...
alguien me puede explciar por que al enviar un mensaje el texto de un textarea, me envia con caracteres especiales???... hago las respectivas conversiones y no realiza nada he probado alguna formas y nada....
Código HTML:
Ver original
  1. <?php session_start(); ?>
  2. <style type="text/css">
  3. #formulariodecontacto{
  4.     font-family:"Times New Roman", Times, serif;
  5.     font-size:12px;
  6.     font-weight:normal;
  7.     color: #333;
  8. }
  9.  
  10. #formulariodecontacto input {
  11.     font-size:12px;
  12.     color:#333;
  13. }
  14.  
  15. <div id="formulariodecontacto">
  16. <form action="" method="post">
  17. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
  18. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  19.  
  20. <table align="center" >
  21.     <tr>
  22.         <td width="300">
  23.             <img width="300" src="http://www.iephe.com/enviarAmigo/1.jpg" /><br/>
  24.             <input type="radio" name="imagen" value="1" />
  25.         </td>
  26.         <td width="296">
  27.             <img width="300" src="http://www.iephe.com/enviarAmigo/2.jpg" /><br/>
  28.             <input type="radio" name="imagen" value="2" />
  29.         </td>
  30.     </tr>
  31. <table width="600" border="0" align="center" cellpadding="2" cellspacing="0" style="font-size: 12.0pt; font-family: 'Cambria'; mso-ascii-theme-font: 'minor-latin'; mso-fareast-font-family: 'Times New Roman'; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: ES-TRAD; mso-fareast-language: ES; mso-bidi-language: AR-SA;color:#575757;">
  32.   <tr>
  33.     <td>Tu Nombre</td>
  34.     <td><input name="nombres" type="text" maxlength="35" size="50" value="<?php if(isset($_POST["nombres"])) {echo $_POST["nombres"];} ?>">*</td>
  35.   </tr>
  36.   <tr>
  37.     <td>Tu E-mail</td>
  38.     <td><input name="email" type="text" maxlength="50" size="50" value="<?php if(isset($_POST["email"])) {echo $_POST["email"];} ?>">*</td>
  39.   </tr>
  40.   <tr>
  41.     <td>Tu Direcci&oacute;n</td>
  42.     <td><input name="direccion" type="text" maxlength="35" size="50" value="<?php if(isset($_POST["direccion"])) {echo $_POST["direccion"];} ?>"></td>
  43.   </tr>
  44.   <tr>
  45.  
  46.     <td valign="top">Mensaje</td>
  47.    
  48.  
  49.     <td>
  50.         <textarea name="mensaje" cols="45" rows="15">
  51. Hola, acabo de recibir un servicio gratuito de purificacion de aire y descontaminación en mi hogar, además me indicaron como prevenir enfermedades graves, ¡fue realmente impresionante! Me otorgaron el derecho de obsequiar 4 de estos servicios a las familias que más aprecio y los escogá a ustedes. Por favor recibe la llamada en estos días para hacer una cita y me ayudas porque ganarán obsequio si los recibes.
  52.  
  53. Saludos Cordiales.</textarea>*</td>
  54.   </tr>
  55.  
  56.   <tr>
  57.     <td>Nombres de tu Amigo</td>
  58.     <td><input name="nombres2" type="text" maxlength="35" size="50" value="<?php if(isset($_POST["nombres2"])) {echo $_POST["nombres2"];} ?>">*</td>
  59.   </tr>
  60.   <tr>
  61.     <td>E-mail de tu Amigo</td>
  62.     <td><input name="email2" type="text" maxlength="50" size="50" value="<?php if(isset($_POST["email2"])) {echo $_POST["email2"];} ?>">*</td>
  63.   </tr>
  64.   <tr>
  65.     <td>&nbsp;</td>
  66.     <td><img id="captcha" src="./securimage/securimage_show.php" alt="CAPTCHA Image" /><a href="#" onclick="document.getElementById('captcha').src = './securimage/securimage_show.php?' + Math.random(); return false"><img src="./securimage/images/refresh.gif" alt="Recargar" border="0"/></a></td>
  67.     </tr>
  68.     <tr>
  69.     <td>&nbsp;</td>
  70.     <td> <input type="text" name="captcha_code" size="27" maxlength="6" /> *</td>
  71.     </tr>
  72.   <tr>
  73.     <td><input name="action" type="hidden" value="send"></td>
  74.     <td>&nbsp;</td>
  75.   </tr>
  76.   <tr>
  77.     <td>&nbsp;</td>
  78.     <td><input name="enviar" type="submit" value="Enviar"></td>
  79.   </tr>
  80. </form>
  81.  </div>
  82.  
  83. <?php
  84.  
  85.  
  86.      if (isset($_POST['action'])) {
  87.         //Mail del amigo
  88.       $dest = $_POST['email2'];
  89.        $copia1 = $_POST['email'];
  90.        $copia2 = "[email protected]";
  91.        
  92.        //Encabezado mail - Nombre y mail del remitente
  93.       $head = "From: ".$_POST['nombres']."<".$_POST['email'].">\r\n";
  94.        $head .= "Content-type: text/html\r\n";
  95.        $asunto = $_POST['nombres']." te recomienda Sistemas Rainbow";
  96.        $email = $_POST['email'];
  97.        
  98.        $template ='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  99.         <html xmlns="http://www.w3.org/1999/xhtml">
  100.         <head>
  101.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  102.         <title>Iephe</title>
  103.         </head>
  104.        
  105.         <body bgcolor="#666666">
  106.         <font color="#FFF">
  107.         <table width="600" border="0" align="center" bgcolor="#000">
  108.             <tr>
  109.                 <td><img src="http://www.iephe.com/enviarAmigo/'.$_POST['imagen'].'.jpg" /></td>
  110.             </tr>
  111.         </table><br/>
  112.         <table width="600" border="0" align="center" bgcolor="#000">
  113.             <tr>
  114.                 <td>
  115.                     <h2>Tu amigo pens&oacute; que podr&iacute;a interesarte saber sobre el Sistema Rainbow.</h2>
  116.                     <p>Si quieres saber m&aacute;s sobre Rainbow, haz clic <a href="http://www.iephe.com/" target="_blank">aqu&iacute;</a> o copia y pega la siguiente direcci&oacute;n web en tu explorador.<br/>
  117.                     <a href="http://www.iephe.com/" target="_blank">http://www.iephe.com/</a></p>
  118.                 </td>
  119.             </tr>
  120.             <tr>
  121.                 <td>
  122.                 Los datos de tu amigo son:<br/>
  123.                 <table>
  124.                     <tr>
  125.                         <td><b>Nombre:</b> </td>
  126.                         <td>'.htmlentities($_POST['nombres']).'</td>
  127.                     </tr>
  128.                     <tr>
  129.                         <td><b>E-mail:</b></td>
  130.                         <td>'.htmlentities($_POST['email']).'</td>
  131.                     </tr>
  132.                     <tr>
  133.                         <td><b>Direcci&oacute;n:</b></td>
  134.                         <td>'.htmlentities($_POST['direccion']).'</td>
  135.                     </tr>
  136.                     <tr>
  137.                         <td><b>Mensaje:</b></td>
  138.                         <td>'.htmlentities($_POST['mensaje']).'</td>
  139.                     </tr>
  140.                 </table>        
  141.                 </td>
  142.             </tr>
  143.         </table>
  144.         </font>
  145.         </body>
  146.         </html>';
  147.  
  148.  
  149.  
  150.        // CAMPOS REQUERIDOS
  151.        if(empty($_POST['nombres'])) die("El campo Nombre Completo es requerido");
  152.        if(empty($_POST['email'])) die("El campo E-mail es requerido");
  153.        if(empty($_POST['mensaje'])) die("El campo Mensaje es requerido");
  154.        if(empty($_POST['imagen'])) die("El campo Imagen es requerido");
  155.        
  156.        // VALIDAR EMAIL
  157.        function validarCorreo($email)
  158.        {
  159.        return eregi('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@([a-z0-9]+[\.-])*[a-z0-9]+\.[a-z]{2,6}$',$email);
  160.        }
  161.  
  162.        if(validarCorreo($email)) { }
  163.        else { die ('Su E-mail no es valido, verifiquelo e intentelo nuevamente.'); }
  164.  
  165.        // CAPTCHA
  166.        include_once $_SERVER['DOCUMENT_ROOT'] . '/securimage/securimage.php';
  167.        $securimage = new Securimage();
  168.        if ($securimage->check($_POST['captcha_code']) == false) {
  169.        die('El codigo es incorrecto, intentelo nuevamente.');
  170.        }
  171.  
  172.            // ENVIO DEL MENSAJE
  173.                if ($dest=$dest){
  174.                    if (mail("$dest,$copia2", $asunto, $template, $head)) {   
  175.                    echo "Su mensaje fue enviado, pronto estaremos en contacto. Gracias.";
  176.                    }
  177.                     else {
  178.                         echo "Error de envio, intentelo nuevamente.";
  179.                         }
  180.            }
  181.        }
  182.  
  183. ?>
llevo dias y no se que puede estar mal no se que ocurre en el textarea...
  #2 (permalink)  
Antiguo 26/10/2011, 13:37
 
Fecha de Ingreso: septiembre-2008
Mensajes: 192
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Envio Email no convierte caracteres espceciales

hola en vista de que nadie pudo ayudarme lo intente y lo resolvi, a alguien le puede suceder algun rato esta situacion....
lo unico que hay que hacer es que al momento de qu se esta enviando el html en la variable, el textarea no requiere una conversion de caracteres....
erroneo...

Código HTML:
Ver original
  1. <tr>
  2.                         <td><b>Mensaje:</b></td>
  3.                         <td>'.htmlentities($_POST['mensaje']).'</td>
  4.                     </tr>


correcto

Código HTML:
Ver original
  1. <tr>
  2.                         <td><b>Mensaje:</b></td>
  3.                         <td>'.$_POST['mensaje'].'</td>
  4.                     </tr>
  #3 (permalink)  
Antiguo 29/10/2011, 20:16
Avatar de leonardomontilla  
Fecha de Ingreso: octubre-2011
Ubicación: Caracas
Mensajes: 6
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Envio Email no convierte caracteres espceciales

Por lo que miro en tu código tienes algunos errores:

a) La cabecera <!DOCTYPE no va allí, de hecho va al principio de todo documento HTML, antes de la etiqueta <html> inicial

b) <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> va dentro de de <head>...</head> y acá está el quid del asunto, están definiendo un documento con codificación UTF-8, lo cual está muy bien, pero el formulario también debe usar esa codificación...

c) <form action='"" method="post" accept-charset="utf-8"> Con esto el formulario aceptará esa codificación (los campos del formulario)

Importante:
Corrige lo señalado al principio, de lo contrario no te funcionará pues si no especificar en la cabecera (<head>) la codificación, HTML tomará la del navegador y en consecuencia el formulario nuevamente usará una diferente.

Saludos

Etiquetas: caracteres, css, email, php, textarea, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:07.