![]() |
Error con acentos con carga asíncrona Acabo de implementar en mi página web una carga asincrona con javascript. El problema es que al llamar a otra página para cargarla dentro de la principal, las letras con acento se cargan como un cuadro, removiendo además las dos siguientes letras a esta. ¿Alguien podría decirme como corrijo esto para mostrar la información de forma correcta? |
Re: Error con acentos con carga asíncrona A ver, aquí falta un dato, estás trabajando con el objeto xmlHttpRequest y PHP? como lo haces? Si es con PHP hay una solución, todo el contenido que se imprime aplícale la función urlencode, eso hará que el contenido esté con código url, después en JavaScript a aplicas ese contenido la función unescape y luego lo usas para mostrar el contenido. Espero que te sirva. |
Re: Error con acentos con carga asíncrona Lo hago directo con JavaScript ya que mi página está en un servidor gratuito. El código que uso es este, enviando como parámetro url una página html y para id el div en el que se cargará: Código: function loadurl(url, id){ |
Re: Error con acentos con carga asíncrona Claro que puedes solucionar tu problema, simplemente implementa una función que convierta los carácteres latinos a sus respectivas entidades HTML, una opción sería esta función: Código: function htmlent(txt) {Código: function setpage(pagecnx, id){ |
Re: Error con acentos con carga asíncrona ¡Muchisimas gracias por la solución! Es justo lo que necesitaba. |
Re: Error con acentos con carga asíncrona Ya lo he probado. Es extraño, pero no me ha funcionado el código. Te dejo un link para que lo cheques y me digas si puse algo mal por favor, o si identificas el problema en caso sea solucionable. Gracias de nuevo... http://mx.geocities.com/daphyreweb/test/ |
Re: Error con acentos con carga asíncrona El problema es que el objeto XMLhttpRequest al obtener el texto no reconoce los carácteres latinos, está de más esa función que te he dado porque de antemano el texto que se le pasa no contiene ningún carácter latino, en su lugar hay un cuadradito, que me parece que es un carácter que simplemente no se reconoce. Bien, tal y como lo planteas yo no encuentro manera de solucionarlo, pero me pregunto porqué tienes que ponerle carácteres con acentos si puedes usar las entidades html, cuando trabajas con php no hay problema porque utilizas la función htmlentities para tranformar los carácteres latinos a su respectiva entidad html, pero en tu caso trabajas solo con html, simplemente escribe todo con entidades. |
Re: Error con acentos con carga asíncrona Creo que con entidades te refieres a los &;... Respondiendo a eso, pues la verdad es más sencillo escribirlo directo, pero al final supongo que tendré que usarlos aunque sea un poco más de trabajo. Y respecto al PHP, verás, que uso un servidor gratuito que no me lo permite. De cualquier forma, gracias por tu tiempo, me ayudó tambien a aprender más cosas sobre JavaScript y otros detalles. Gracias por todo. |
Re: Error con acentos con carga asíncrona Hay servidores gratuitos que soportan PHP, solo búscalos si te hacen falta y sino pues usa el dream que genera automáticamente las entidades html (así se llaman, es su nombre oficial). |
Respuesta: Re: Error con acentos con carga asíncrona Prueba creando la funcion que propone ELjavista pero con estas sentencias: function htmlent(texto) { texto = texto.replace(/(\xF1)/g, 'n').replace(/(\xD1)/g, 'N'); texto = texto.replace(/(\xE1)/g, 'a').replace(/(\xC1)/g, 'A'); texto = texto.replace(/(\xE9)/g, 'e').replace(/(\xC9)/g, 'E'); texto = texto.replace(/(\xED)/g, 'i').replace(/(\xCD)/g, 'I'); texto = texto.replace(/(\xF3)/g, 'o').replace(/(\xD3)/g, 'O'); texto = texto.replace(/(\xFA)/g, 'o').replace(/(\xDA)/g, 'O'); return txt; } |
| La zona horaria es GMT -6. Ahora son las 20:44. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.