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...

La FAQ Problemas con acentos y ñ en Ajax tiene

Pertenece a la categoría:

Pregunta
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?


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

Complementar la respuestaComplementar la respuesta
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios
Fueron enviados 11 comentarios a la faq
6 comentarios no revisados
5 comentarios revisados:
Por: Michel Vazquez Garcia
01/3/07
Otra Forma de realizar lo mismo sin configurar nada, es que cuandos vayas a imprimir cualquier string, pimero codifiques la cadena a UTF-8,
<?
$cadena="áéíóúñÑ";
echo utf8_encode($cadena);
?>

Eso te solucionara el problema,
Por: Eddwin Paz
01/3/07
Hola lo que pasa es que tienes los ISO en el default en ingles la pagina como tiene ñ esta en castellano bueno esta pendiente con los ISO puesto que son la causa de muchos errores de ortografia puesto que el ISO por defecto esta en ingles Xiao saludos
Por: Chus
01/3/07
Creo que si usas utf-8 también te reconoce los acentos y las ñ. Por lo menos es lo que yo uso.
Un saludo!
Por: pakos
09/3/07
este es un problema algo comun cuando reciclas codigo o bien cuando se trabaja en sistemas diferentes (linux, mac, windows), ya han comentado hacerca de la codificación de caracteres ISO y UTF por lo generar como sistema de codificacion se usa iso en el sitema windos, en la actualidad muchos buscan mudarce y usar el UTF-8 por que soporta mayor numero de caracteres especial, lo malo que los caracteres especiales en utf y en iso no coinciden, y el problema radica en que usas texto generado en utf en un documento iso o bicebersa, tambien un problema muy comun es omitir un meta muy importante <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-8859-1"> el cual idica la codificacion del archiov html, charset puede cambiar a utf-8 y de esta forma se usara el sistema utf-8 para decodificar el texto, posiblemente tu web este en iso y la base de datos este en utf-8 para lo cual en php existe dos funcones que te pueden servir utf8_decode() y utf8_encode(), la primera pasa un string utf8 a iso y el segundo de utf8 a iso, el problema se resolveria suponiendo que la base de datos este en utf8 y la salida de tu php en un iso, entoces se coregiria con
echo utf8_decode($cadenaEnIso);//retorna utf
si fuera lo cotrario seria
echo utf8_decode($cadenaEnUtf8);//retorna iso
Por: Edu
19/6/07
Hola, yo os voy a exponer como solucioné mi caso particular, igual no a todos os sirve.

A ver, me ha ayudado mucho el usar utf8_decode(), como comenta nuestro amigo. Pero va perfecto a la hora de hacer el INSERT, ya que el el script php recoge los datos de la llamada ajax por POST. Como digo esto perfecto, en la base de datos ya me insertaba los acentos.

Pero yo tenía otro problema, que cuando termina de hacer el insert se muestra el listado de todos los elementos de la tabla, y éstos me los mostraba con ? en, para solucionar esto utilicé la funcion htmlentities() al texto a mostrar.

Espero os sirva de ayuda

Volver al árbol de categoríasVolver al árbol de categorías
Alojados en el grupo