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

Carácteres Especiales No los Acepta IE

Estas en el tema de Carácteres Especiales No los Acepta IE en el foro de Frameworks JS en Foros del Web. Hoal aligos del foro, hasta ahora estoy conociendo el Ajax, y me encontré con un inconveniete con el cual no contaba, hice una serie de ...
  #1 (permalink)  
Antiguo 17/02/2006, 12:35
 
Fecha de Ingreso: octubre-2005
Mensajes: 45
Antigüedad: 18 años, 6 meses
Puntos: 0
Carácteres Especiales No los Acepta IE

Hoal aligos del foro, hasta ahora estoy conociendo el Ajax, y me encontré con un inconveniete con el cual no contaba, hice una serie de pruebas de ejemplos que me encontré y los ejecute tanto en el Mozilla como en el IE, en el Mozilla me acepta todos los caráteres especiales como las tildes (?¿Üüáéíóú@), pero en el IE no funciona, carácter especial que escriba, me sale un signo de interrogación, es bien sabido que el IE es uno de los más utilizado, por lo que necesito saber como arreglar este problema, espero haber sido claro en lo que necesito, y espero una pronta respuesta y gracias de antemano.
  #2 (permalink)  
Antiguo 18/02/2006, 11:50
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
Cuando envies un parametro envialo asi... "valor="+escape(valor.value)

En la pagina que recibe los parametros.. pon esto...

Al inicio.
si usas ASP..
Cita:
<% Response.Charset="ISO-8859-1"

Si usas PHP
Código PHP:
<?
mb_http_input
("iso-8859-1");
mb_http_output("iso-8859-1");
?>

Saludos.
  #3 (permalink)  
Antiguo 20/02/2006, 13:49
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
Ok, bueno intenté esto, pero digamos, ahora estoy un archivo plano, sin usar variables GET o POST y en PHP, como le hago ahora?.

Seguiré investigando si uso algo de los headers, pero si se me adelantan les agradeceré.
  #4 (permalink)  
Antiguo 21/02/2006, 10:11
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
txt, htm, html, xml ... cual usas?
  #5 (permalink)  
Antiguo 21/02/2006, 10:20
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
Como dije, PHP sin variables ...
  #6 (permalink)  
Antiguo 21/02/2006, 12:21
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
tons solo esto: mb_http_output("iso-8859-1");

  #7 (permalink)  
Antiguo 21/02/2006, 13:49
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
Noup, ambos aunque sea con uno me da error, por eso hice mi pregunta...
  #8 (permalink)  
Antiguo 22/02/2006, 07:45
 
Fecha de Ingreso: octubre-2005
Mensajes: 45
Antigüedad: 18 años, 6 meses
Puntos: 0
Siguiente Cuestión Parte Uno, Parte Dos a continuación.......


Hola amigos del foro, estos son los dos códigos que estoy utilizando para el manejo de Ajax.
Este es archivo donde se encuentran las funciones de Ajax, adicione la función escape, como se verá en el código.

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Ajax: Ejemplo 3 - Envío de datos por el método POST</title>
</head>
<script>
function nuevoAjax()
{
	var xmlhttp=false;
	try {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");} 	
	catch (e) 
	{
	  try {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");} 	
	  catch (E) {xmlhttp = false;}
 	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') 
  		xmlhttp = new XMLHttpRequest();
return xmlhttp;
}

function cargarContenido()
{
	var t1, t2, contenedor;
	var contenedor = document.getElementById('contenedor');
	var t1 = escape(document.getElementById('texto1').value);
	var t2 = escape(document.getElementById('texto2').value);
	ajax=nuevoAjax();
	ajax.open("GET", "ejemploajax2.php?t1="+t1+"&t2="+t2+"&id=1",true);
	ajax.onreadystatechange=function() 
	{
		if (ajax.readyState==4) 
			contenedor.innerHTML = ajax.responseText;
	}
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send("t1="+t1+"&t2="+t2+"&id=1");
}
window.onload= function(){cargarContenido()}
</script>
<style type="text/css">
#contenedor{
border: 1px solid #f00;
padding: 10px;
margin: 14px;
}
</style>
<body>
<form onSubmit="cargarContenido(); return false">
<div><input type="text" id="texto1" value="valor1" /></div><div id="res">Corregir</div>
<div><textarea id="texto2">texto en el textarea</textarea></div>
<div><input type="submit" value="enviar" onPress="cargarContenido()" />
<input type="button" value="enviar" onPress="javascript:form1.jorge.value='Hola';" />
</div>
</form>
Este ejemplo enviará información por el método post y la pondrá en el siguiente div:
<div id="contenedor">div contenedor</div>
</body>
</html> 
  #9 (permalink)  
Antiguo 22/02/2006, 07:50
 
Fecha de Ingreso: octubre-2005
Mensajes: 45
Antigüedad: 18 años, 6 meses
Puntos: 0
Parte Dos de la cuestión....
Este es el archivo php que recibe los datos que se envían del código anterior con el método de Ajax,

Código PHP:
<?php
mb_http_input
("iso-8859-1");
mb_http_output("iso-8859-1");
extract($_GET);
echo 
"Valor de t1 es: $t1<br>";
echo 
"Valor de t2 es: $t2<br>";
?>
Adicione las dos líenas de código que me dicen en este foro, y el resulta es el que se ve en la siguiente dirección:


En las siguientes Imagenes muestro lo que me arroja en los dos Navegadores Mozilla Y IE.
En Mozilla con la Función escape();

En IE con la Función escape();

En Mozilla sin la función escape();

Como ven en Mozilla sin la función escape(); funciona bien y acepta todos los carácteres especiales pero en IE da lo mismo, bueno espero que me puedan dar una respuesta ya que hice lo que me dijeron, este ejemplo lo baje de la siguiente dirección web: http://www.therror.com/documentos/10..._entender_ajax
  #10 (permalink)  
Antiguo 22/02/2006, 09:06
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
Listo con esto si te va salir

En la linea 1

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

Sólo coloca este codigo PHP en las paginas que llamará sólo AJAX...

Saludos

Última edición por richardinj; 22/02/2006 a las 13:57
  #11 (permalink)  
Antiguo 22/02/2006, 14:00
 
Fecha de Ingreso: octubre-2005
Mensajes: 45
Antigüedad: 18 años, 6 meses
Puntos: 0
Gracias, Muchas Gracias

Muchas, pero muchas gracias funcionó bien tanto en Mozilla con en IE que era donde más necesitaba que funcionará, agradezco la ayuda prestada, y de nuevo muchas gracias, ya que ya estaba dando por sentado que no iba a poder utilizar Ajax para hacer mis desarollos.
  #12 (permalink)  
Antiguo 22/02/2006, 14:29
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
"Solo mira abajo para levantar a los que cayeron..."
  #13 (permalink)  
Antiguo 12/03/2006, 06:50
 
Fecha de Ingreso: enero-2006
Ubicación: La Paz - Bolivia
Mensajes: 48
Antigüedad: 18 años, 3 meses
Puntos: 0
Cita:
Listo con esto si te va salir

En la linea 1

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

Sólo coloca este codigo PHP en las paginas que llamará sólo AJAX...

Saludos

que sucede si no es codigo PHP


  #14 (permalink)  
Antiguo 12/03/2006, 06:52
 
Fecha de Ingreso: enero-2006
Ubicación: La Paz - Bolivia
Mensajes: 48
Antigüedad: 18 años, 3 meses
Puntos: 0
Al llamar a la funcion en AJAX ... se puede incluir un HTML con

<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">

o acaso estoy rompiendo una estructura por que ni con eso me funciona


ayuda
  #15 (permalink)  
Antiguo 12/03/2006, 09:43
 
Fecha de Ingreso: octubre-2003
Ubicación: BolivianitA
Mensajes: 235
Antigüedad: 20 años, 6 meses
Puntos: 0
yo tengo el mismo problema o siempre tiene que ser un PHP

:(
__________________
rocita
  #16 (permalink)  
Antiguo 12/03/2006, 11:33
 
Fecha de Ingreso: agosto-2005
Mensajes: 22
Antigüedad: 18 años, 8 meses
Puntos: 0
Pues yo tengo el mismo problema en mi portal web con jsp y he puesto la línea en el jsp llamador y sigue sin funcionarme. Aqui os pongo lo que he hecho por si podeis ayudarme:

en el .jsp

<html>
<head>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
......


En esta página jsp llamo a un método de javascript encargado de obtener la info y presentarla, pero esta información sale con caracteres extraños en lugar de tildes y eñes.

¿Alguna idea? Saludos, kemmotar
  #17 (permalink)  
Antiguo 13/03/2006, 12:41
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading......


NO NO NO


como dije anteriormente la solucion solo es poner a la cadena que vas a mostrar mediante ajax.

Código PHP:
utf8_encode($cadena); 
nada mas.




connection closed.
__________________

Maborak Technologies
  #18 (permalink)  
Antiguo 14/03/2006, 12:19
 
Fecha de Ingreso: agosto-2005
Mensajes: 22
Antigüedad: 18 años, 8 meses
Puntos: 0
Cita:
Iniciado por MaBoRaK
loading......


NO NO NO


como dije anteriormente la solucion solo es poner a la cadena que vas a mostrar mediante ajax.

Código PHP:
utf8_encode($cadena); 
nada mas.

connection closed.
Y eso en el mundo jsp a que equivale???

Saludos, kemmotar
  #19 (permalink)  
Antiguo 14/03/2006, 14:51
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading..........


creo..

request.setCharacterEncoding("UTF-8");


creo, estoy en pelotas.




connection closed.
__________________

Maborak Technologies
  #20 (permalink)  
Antiguo 21/03/2006, 13:29
 
Fecha de Ingreso: agosto-2005
Mensajes: 22
Antigüedad: 18 años, 8 meses
Puntos: 0
Ya he solucionado mi problema, por si ha alguien le sirve solo habia que poner en la página jsp en la que se carga el AJAX:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

y en el servlet que genera el xml:

response.setContentType("text/xml; charset=ISO-8859-1");

Y problema solucionado.

Saludos, kemmotar
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 23:33.