Foros del Web » Programando para Internet » PHP »

problema UTF8 y charset=iso-8859-1

Estas en el tema de problema UTF8 y charset=iso-8859-1 en el foro de PHP en Foros del Web. Buenas tardes estoy usando un formulario en flash y lleva envio los datos atraves de php. Este es el codigo que utilizo para php: <? ...
  #1 (permalink)  
Antiguo 18/01/2012, 16:32
 
Fecha de Ingreso: enero-2012
Mensajes: 7
Antigüedad: 12 años, 3 meses
Puntos: 0
problema UTF8 y charset=iso-8859-1

Buenas tardes estoy usando un formulario en flash y lleva envio los datos atraves de php.

Este es el codigo que utilizo para php:

<?

// Fonction parse pour l'encodage des caractere en UTF8
function parse($valeur){
return stripslashes(nl2br(utf8_decode($valeur)));
}


// Recuperación variables flash
$nombre = parse($_POST['nombre']);
$correo = parse($_POST['email']);
$telefono = parse($_POST['telefono']);
$texto = parse($_POST['texto']);
$contentmsg = "<b>Nombre: </b>".$nombre."<b><br />E-mail: </b>".$correo."<b><br />Teléfono: </b>".$telefono."<b><br /><br />Mensaje: <br /></b>".$texto;


// Datos para recepcion de formulario
$email="[email protected]"; //Cambia tu correo aqui
$sujet="Contacto Web";
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "From: ".$correo."\n";

// Datos para confirmacion de recepcion de email
$sujet2="Recepcion de formulario de contacto";
$headers2 = "MIME-Version: 1.0\n";
$headers2 .= "Content-type: text/html; charset=iso-8859-1\n";
$headers2 .= "From: ".$email."\n";
$contentmsg2 = "<br /><br />Buenos días.<br />Un saludo.<br />\n";
$contentmsg2 .= "<p><img src='http://hola.com/mail/firma_2010.jpg' width='607' height='48' /></p>";


mail($email,$sujet,$contentmsg,$headers);
mail($correo,$sujet2,utf8_decode($contentmsg2),$he aders2);

?>

El problema lo tengo en que envio una confirmacion de recepcion del formulario y lo paso a utf8 pero de esta manera no me pone los acentos en el texto. y si no lo paso a utf8 y lo dejo en charset=iso-8859-1 no me pone la imagen <img src> que pongo, me deja el hueco como si hubiese una imagen pero no parece nada.
No sé si esque tengo que para php poner otro tipo de codigo para la imagen.
Otra cosilla es que tambien probé los acentos con lo de acute y nada.

Gracias por vuestra colaboración.
Muchas gracias. Un saludo.
  #2 (permalink)  
Antiguo 19/01/2012, 01:24
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: problema UTF8 y charset=iso-8859-1

"no me pone la imagen"??.
Comprueba el HTML generado para ver porqué no sale la imagen. No parece un problema de codificación, si ves un recuadro es generalmente porque la ruta a la imagen es incorrecta.
Salu2!
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 19/01/2012, 14:20
 
Fecha de Ingreso: enero-2012
Mensajes: 7
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: problema UTF8 y charset=iso-8859-1

Gracias por la respuesta repara2, la ruta está bien, donde tengo la funcion de envio de email
mail($correo,$sujet2,utf8_decode($contentmsg2),$headers2); si no hago ahi la conversion a utf8 me aparece el recuadro de la imagen.

La ruta que doy no existe porque la original es de una empresa. pero funciona solamente convertiendo el codigo a utf8, si la dejo en charset=iso-8859-1 me funciona dejando el recuadro y dejandolo en utf8 no consigo los acentos en el texto.

A ver si lo consigo o si alguien sabe donde fallo.

Muchas gracias. Un saludo.
  #4 (permalink)  
Antiguo 19/01/2012, 17:50
 
Fecha de Ingreso: enero-2012
Mensajes: 7
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: problema UTF8 y charset=iso-8859-1

Al final me funciona sin pasarlo a utf8, estaría coloncando algo raro en el codigo que ponia a continuacion de la imagen.

Gracias de todos modos.

Etiquetas: formulario, html, variables, utf-8
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:50.