Foros del Web » Programando para Internet » PHP »

problema con ñ y acentos

Estas en el tema de problema con ñ y acentos en el foro de PHP en Foros del Web. para mostrar bien lo q sucede aqui esta esta imagen veanla para q sepan lo que quiero hacer http://www.subirimagenes.com/otros-correo-5103152.html tengo mi formulario para enviar un ...
  #1 (permalink)  
Antiguo 02/09/2010, 14:21
 
Fecha de Ingreso: febrero-2010
Ubicación: valencia
Mensajes: 146
Antigüedad: 14 años, 2 meses
Puntos: 3
problema con ñ y acentos

para mostrar bien lo q sucede aqui esta esta imagen veanla para q sepan lo que quiero hacer

http://www.subirimagenes.com/otros-correo-5103152.html



tengo mi formulario para enviar un correo
lo valide
y funciona bien
el envia las ñÑ y acentos todo bien pero
no me las muestra en la bandeja cuando llega el correo, pero si al reenviar y al leer los datos del correo en el buzon!
vean la imagen

y este es una parte del codigo


<?php
}else{
//Estoy recibiendo el formulario, compongo el cuerpo
$headers_mensaje = "From:" . $_POST["nombre"] ." ". $_POST["apellido"] . "\r\n.." . "Reply-To:". $_POST["email"] ."\r\n" . "Return-path: ". $_POST["email"] ."\r\n" . "MIME-Version: 1.0\n" . "Content-type: text/plain; charset=utf-8";

$cuerpo = "Enviado de la pagina web www.dieseltronic.com.ve\n";
$cuerpo .= "Nombre: " . $_POST["nombre"] . "\n";
$cuerpo .= "Apellido: " . $_POST["apellido"] . "\n";
$cuerpo .= "Email: " . $_POST["email"] . "\n";
$cuerpo .= "Mensaje: " . $_POST["coment"] . "\n";

//mando el correo...
mail("[email protected]","Respuesta de jjjjjjjjjj.com.ve",$cuerpo, $headers_mensaje);



gracias!!!!!
  #2 (permalink)  
Antiguo 02/09/2010, 14:52
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: problema con ñ y acentos

Como es muy frecuente que no coincidan las codificaciones en html/php, base de datos y datos de formularios, es bueno tener una función que codifique en utf en case de que el texto no esté en utf-8

Proba:

Cita:
function fixEncoding($in_str){
$cur_encoding = mb_detect_encoding($in_str) ;
if($cur_encoding == "UTF-8" && mb_check_encoding($in_str,"UTF-8"))
return $in_str;
else
return utf8_encode($in_str);
};
Lo bueno de esta función es que te preserva en el caso de que codifiques dos veces una cadena. Eso la destruiría!
  #3 (permalink)  
Antiguo 02/09/2010, 15:40
 
Fecha de Ingreso: febrero-2010
Ubicación: valencia
Mensajes: 146
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: problema con ñ y acentos

pero mayid donde coloco esa funcion? en q parte la llamo?

seria asi?

mail("[email protected]","Respuesta de jjjjjjjjjj.com.ve",$cuerpo, fixEncoding($headers_mensaje));

asi la colocaria?
  #4 (permalink)  
Antiguo 02/09/2010, 15:52
 
Fecha de Ingreso: febrero-2010
Ubicación: valencia
Mensajes: 146
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: problema con ñ y acentos

lo extraño es q me sale bien menos de lado izquierdo donde señala la flecha en la imagen q coloqui aqui
  #5 (permalink)  
Antiguo 02/09/2010, 16:34
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: problema con ñ y acentos

Lo que publicaste está bien. La función se usa cada vez que recibís datos de un formulario o desde mysql.

Yo también la aplicaría a $cuerpo.

Cita:
no me las muestra en la bandeja cuando llega el correo, pero si al reenviar y al leer los datos del correo en el buzon!
?
  #6 (permalink)  
Antiguo 02/09/2010, 17:09
 
Fecha de Ingreso: febrero-2010
Ubicación: valencia
Mensajes: 146
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: problema con ñ y acentos

no entiendo no me funciona :s


yo estoy usando jquery para q me valide

esto es lo que corresponde a archivo de jquery que tengo q me valida

"onlyLetter":{
"regex":"/^[a-zA-Z \ \u00E1\u00f1\u00d1\u00e9\u00ed\u00f3\u00fa\u00c1\u 00c9\u00cd\u00d3\u00da\]+$/i",
"alertText":"* Solo letras"},



luego en el formulario lleno por ejemplo
nombre: toño
apellido: vañes
email:[email protected]
mensaje:asdjajasfas


entonces lo envio y reviso mi correo para ver como llego
y deberia llegar
de quien esta mandandolo

pero llega
toño vañes

y al abrirlo si dice toño bañes y todas las ñ y acentos t todo lo q le haya colocado
pero lo que quiero es q en la bandeja salga el nombre bien del q lo envio
en la bandeja pero sin haberlo abierto
osea donde uno ve todos los nombres de los que mandaron el correo
  #7 (permalink)  
Antiguo 02/09/2010, 17:10
 
Fecha de Ingreso: febrero-2010
Ubicación: valencia
Mensajes: 146
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: problema con ñ y acentos

y coloque la funcion que me diste de la forma que te pregunte
asi
mail("[email protected]","Respuesta de jjjjjjjjjj.com.ve",$cuerpo, fixEncoding($headers_mensaje)); y no me funciona ni si quiera lo envia

Etiquetas: acentos
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 22:16.