Hola a todos:
Vengo un problema bastante pesado (por el trabajo que me pueda suponer).
Planteamiento:
Tengo una base de datos con cotejamiento Latin 1, así como las páginas PHP que voy generando en función de las consultas a dicha base de datos.
Problema:
Ahora estoy haciendo el procedimiento para que el visitante consulte a través de sus búsquedas textuales con una tabla de palabras inversas (no válidas para la consulta). El procedimiento evalúa las palabras y las comprueba con la mencionada tabla. Hasta aquí todo bien.
Si el visitante teclea, supongamos, un literal "qué" o "que" se comprueba con la tabla en donde hay un registro "que" que no lo tendrá en cuenta.
La cuestión surge porque el literal que ha introducido el usuario no concuerda con la tabla porque la palabra lleva tilde (i.e., acento gráfico). He estado observando el problema y ello se debe a que la tabla tiene el cotejamiento Latin 1.
Haciendo pruebas con UTF-8 no me ocurre (esto es, funciona como quiero).
Por otro lado, si declaro que el juego de caracteres de los ficheros PHP es UTF-8 me devuelve cajas vacías o símbolos extraños.
Mis preguntas:
1. ¿Que puedo hacer?
2. ¿Existe alguna recomendación por la cual deban usarse uno u otro juego de caracteres y, sobre todo, cómo usarse?
Gracias por adelantado y un saludo.
--
Alberto Uttranadhie (España)