Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/09/2004, 01:06
Doctor Luz
 
Fecha de Ingreso: septiembre-2004
Mensajes: 21
Antigüedad: 19 años, 8 meses
Puntos: 0
Problemas buscando palabras completas en MySQL

Tengo una base de datos con una tabla y dos campos (producto, descripción)

Quiero hacer una busqueda por palabras completas en el campo descripción esto es, que si la descripción en dos registros es.

"Esto tiene mucho amor" y "Esto es muy amoroso"

y yo busco "amor" solo tengo que obtener el primer registro, y no el segundo porque el texto "amor" en el segundo es un trozo de una palabra, no la palabra completa.

Para eso he encontrado dos soluciones en el manual MySQL:
1) busqueda por expresiones regulares con REGEXP '[[:<:]]palabra[[:>:]]'
2) busqueda con MATCH...AGAINST

El problema que tengo en ambos casos es que las palabras con acentos y con la letra ñ me dan resultados indeseados, por ejemplo supongamos el registro: "pétalo de la flor"

Si busco la palabra "talo" obtengo resultado positivo porque MySQL interpreta "é" como caracter separador de palabras.
Si busco "petalo" resultado negativo porque no he puesto el acento
Si busco "pétalo" resultado positivo porque si he puesto el acento

Con la ñ sucede parecido

¿Hay alguna forma de solucionar esto?

¿Hay alguna manera directa para evitar el problema de los acentos y la ñ?
¿Cómo puedo indicar a MySQL que la ñ es un caracter válido, que la á se comporte como a, la é como e, etc?