> Faqs > Problemas con acentos y ñ en Ajax

Problemas con acentos y ñ en Ajax

Hola amigos, os explico un poco, tengo una web donde tengo un formulario en el cual se muestran las localidades existentes en la bbdd, según la localidad que elija, mediante AJAX, se muestran en otro combo las zonas que existen en la bbdd para dicha localidad. Las búsquedas en la bbdd las realizo mediante php. Pues mi problema es el siguiente si escojo una localidad la cual contiene una ‘ñ’ no me muestra las zonas para esa localidad, es como si no encontrará esa localidad. Y si es la zona la contiene la ñ no me encuentra nada en la bbdd. En las variables de php que contienen las localidades y las zonas he utilizado htmlentities y nada. Una prueba que he realizado es la siguiente: He impreso por pantalla la consulta que se realiza y la he copiado al phpmyadmin y me ha funcionado correctamente. Ahh se me olvidaba decir que en IE me funciona correctamente donde no me funciona es en Mozilla.

¿Puede ser debido a la versión de apache que tengo instalada?

Responder la pregunta
Editar Hacer otra preguntaPreguntar

Respuestas

Para que te funcionen las ñ, acentos y otros caracteres especiales como la ç, necesitas trabajar con UTF8. Esto en Ajax es algo obligado.

Entiendo por tu pregunta que lo estás haciendo ya, porque si no, no te funcionaría en ningún navegador...

Entonces lo más seguro es que tengas que hacer una limpieza en tus cadenas antes de compararlas. Así también te asegurarías que cuando alguien busca con o sin acentos le encuentre cosas. Por ejemplo, podrían buscar por "cádiz" o por "cadiz", incluso "espana" o "españa" deberían arrojar los mismos resultados.

Este código está sacado directamente de stackoverflow, que permite eliminar los acentos y otros caracteres (no lo he probado):

const str = "Crème Brulée"
str.normalize("NFD").replace(/[\u0300-\u036f]/g, "")

Devuelve "Creme Brulee"

Fuente: https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript

Con esa conversión sí que deberías obtener las localidades con las ñ y demás.

Nadia
62 3 5 2

Realmente solo tienes una falla en el codigo y es muy pequeña pero afecta onmouseover='this.style.background=

Valeria Avellaneda