Foros del Web » Programando para Internet » Javascript » Frameworks JS »

problema con acentos

Estas en el tema de problema con acentos en el foro de Frameworks JS en Foros del Web. Saludos tengo mi funcion en AJAX para cargar datos mediante un campo de texto a una Base de datos pero tengo el problema de ACENTOS ...
  #1 (permalink)  
Antiguo 28/01/2007, 00:17
 
Fecha de Ingreso: enero-2006
Ubicación: La Paz - Bolivia
Mensajes: 48
Antigüedad: 18 años, 3 meses
Puntos: 0
problema con acentos

Saludos tengo mi funcion en AJAX para cargar datos mediante un campo de texto a una Base de datos pero tengo el problema de ACENTOS esta es mi funcion

Código HTML:
function principal(valor)
{
		var divMensaje=document.getElementById("principal");	
		var ajax=nuevoAjax();
		divMensaje.innerHTML="Ingresando...";
		ajax.open("POST", "proceso.php?", true);
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		ajax.send("principal="+valor);
		ajax.onreadystatechange=function()
		{
			if (ajax.readyState==4)
			{
				divMensaje.innerHTML=ajax.responseText;
			}
		}
}
Cargo mis datos correctamente pero tengo el problema de los ACENTOS, vi los datos introducidos áéíóú y en mi base de datos esta asi >> á é Ã* ó- ú

el problema de los acentos lo solucionaba con

header('Content-Type: text/xml; charset=ISO-8859-1');

en la cabecera de mis paginas pero en este caso es desde la Base de datos.
  #2 (permalink)  
Antiguo 28/01/2007, 19:56
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
Re: problema con acentos

tienes que especificarle en los cmpos de la tabla de la base de datos que acepte estos caracteres especiales, en caso de no poder modificar la estructura de tus tblas, te recomiendo guardar los textos en codificacion BASE64, cuando los saques para mostrarlos los decodificas y listo....

have funnnnnnnn
  #3 (permalink)  
Antiguo 29/01/2007, 11:18
 
Fecha de Ingreso: julio-2005
Mensajes: 5
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: problema con acentos

Hola, esto se debe a que ajax procesa los datos en UTF8 y no en ISO-8859-1, para resolverlo tienes que codificar tus variables en la funcion ajax y decodificar en php. te quedaria asi:

function principal(valor)
{
var divMensaje=document.getElementById("principal");
var ajax=nuevoAjax();
divMensaje.innerHTML="Ingresando...";
ajax.open("POST", "proceso.php?", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("principal="+encodeURIComponent(valor));
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
divMensaje.innerHTML=ajax.responseText;
}
}
}


Y en PHP tendrias que cargar la variable asi:

$principal = UTF8_DECODE ($_POST['principal']);

Espero te sirva, saludos!
  #4 (permalink)  
Antiguo 29/01/2007, 22:54
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
Re: problema con acentos

Tambien puede servir:
Código PHP:
$principal htmlentities($_POST['principal']); 
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 21:47.