Acentos

¿Qué tipo de criterio tengo que poner en una consulta para que a la hora de buscar un nombre o un apellido o una calle, me busque tanto palabras con acento y sin acento?
Ejemplo
Buscar nombre: Jose
Y me salgan tanto los Jose como los José
Gracias

1 respuesta

1
Respuesta de
Hola que tal, saludos de nuevo, aquí hay un detalle, si tu base de datos ya la tienes hecha y con registros (si es que no son muchos) lo que te recomendaría es hacer una búsqueda doble, es decir, buscar primero el dato sin acento y luego con acento, pero para ello requerirías una instrucción que te detecte primero si la palabra que estas buscando es con acentos, de ahí colocar otra instrucción que te cambie la palabra con acento por una sin acentos, es decir si tu palabra a buscar es José, después de las instrucciones tendrías varacento = "José" y varsinacento = "Jose", y realizas una consulta utilizando la sentencia OR, ejemplo:
SELECT * FROM tblusuarios WHERE tblnombre = varacento OR tblnombre = varsinacento
El detalle en este procedimiento es que las instrucciones a colocar ya no depende de la base de datos sino del lenguaje de programación que utilices, y haciendo algo de investigación no es algo tan simple, y depende muchísimo del manejador de base de datos y del lenguaje de programación.
Ahora, si aun no tienes la base de datos creada, te recomiende hacer lo siguiente que es lo que yo hago siempre "NUNCA METER UN DATO CON ACENTOS", tendrías que hacer todas las previsiones necesarias para que los usuarios de tu sistema no introduzcan datos con acento, ya sea mediante alguna nota en el formulario, mediante capacitación, etc. En mi caso siempre trato de que el usuario ponga los datos en mayúsculas y sin acentos, esto ayuda a que si en un futuro tu necesitas exportar la base de datos no tengas ningún problema de compatibilidad. Ahora, tengo entendido que el MySQL no hace ninguna distinción si tiene acentos o no, así que en conclusión, todo depende de que tipo de base de datos y que lenguaje de programación uses.
Espero haberte ayudado un poco con tu duda, y si gustas puedes comentarme que base de datos usas y que lenguaje, para encontrar una solución especifica a tu problema, y también saber si vas a crear una base de datos nueva o si es una ya existente y con miles de registros, saludos.
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje