Php, mysql y acentos

Y... Aquí estoy de nuevo, que esto dice que hace 21 horas que no te pregunto nada y eso no puede ser je je...
Hola, por cierto...
Mmm a ver, te explico... Tengo una base de datos con nombres de pueblos, pero los acentos, en vez de estar normales están "codificados" con &xacute;, por ejemplo
Si hay un pueblo que se llama Albatàrrec, en la base de datos esta como Albatàrrec, ¿ok?
Bien, pues eso se carga en un combo, para seleccionar uno de los pueblos, pero cuando se escribe en el combo, se pone con acento normal (Albatàrrec) y luego, a la hora de buscar en la base de datos (where nombre='Albatàrrec') no me encuentra nada...
He probado a hacer un str_replace(...) pero se lo salta a la torera... Sabes como puedo hacer para reemplazar los acentos por el &...;¿?

1 respuesta

Respuesta
1
Para solucionar este problema tienes varias soluciones.
Una es cambiar las vocales con tilde por su respectivo en HTML.
á --> á
é --> é
í --> í
ó --> ó
ú --> ú
ñ --> ñ
Otra opción sería utilizar una función de PHP que te las reemplaza automáticamente.
La función es htmlentities()
Otras alternativas a las que se plantean son:
1. Usar DOCTYPE y <meta>:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<meta http-equiv="content-type" content="text/html; charset=CODIFICACION DE CARACTERES">
2. Usar las funciones de conversión de ISO a UTF:
http://www.php.net/manual/en/function.utf8-encode.php
http://www.php.net/manual/en/function.utf8-decode.php
Es importante que antes de aplicar cualquiera de los pasos definas cómo quieres que tu script trabaje, en qué codificación de caracteres estará, pues "hacks" momentáneos o improvisados pueden derivar en que tu página se vea "a la de Dios".
Hola,
He intentado cambiar las vocales acentuadas por su respectivo código, pero no me hace ni caso, es decir, a la consulta, lo sigue poniendo igual, y sigue sin encontrarlo...
Probaré lo de la codificación de caracteres, a ver si con eso se arregla...
Gracias de nuevo!
G.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas