| |||
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. |
| ||||
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é. |
| |||
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> |
| |||
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: 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 |
| ||||
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 |
| |||
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. |
| |||
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 |
| |||
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 |
| |||
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 |
| ||||
loading...... NO NO NO como dije anteriormente la solucion solo es poner a la cadena que vas a mostrar mediante ajax. Código PHP: connection closed.
__________________ Maborak Technologies |
| |||
Cita: Y eso en el mundo jsp a que equivale???
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: connection closed. Saludos, kemmotar |
| ||||
loading.......... creo.. request.setCharacterEncoding("UTF-8"); creo, estoy en pelotas. connection closed.
__________________ Maborak Technologies |
| |||
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 |