Hacer Buscador versatil en asp

17/09/2003 - 12:07 por MetalManiac | Informe spam
Hola amigo,

Tengo un buscador en asp que me funciona perfectamente pero resulta que
necesito que dicho buscador me encuentre resultados tanto si poco a buscar
palabras con acento como si lo pongo sin acento. Ejemplo:

Si busco todos los registros en los que nombre=Ivan (SIN acento) me
devolverá todos los registros que nombre=Iván o Ivan
Si busco todos los registros en los que nombre=Iván (CON acento) me
devolverá todos los registros que nombre=Iván o Ivan

Como puedo hacer esto? Gracias ;)
 

Leer las respuestas

#1 Daniel Álvarez
17/09/2003 - 12:33 | Informe spam
Yo tengo esta función:

'funcion solo valida para SQL SERVER CON BUSQUEDAS QUE NO DISTINGAN
MAYUSCULAS
'DE MINUSCULAS
function Optimiza(cadena)
'se prepara la cadena para que sea igual
cadena = lcase(cadena)
cadena = replace(cadena,"á","a")
cadena = replace(cadena,"é","e")
cadena = replace(cadena,"í","i")
cadena = replace(cadena,"ó","o")
cadena = replace(cadena,"ú","u")
cadena = replace(cadena,"ü","u")
'se remplaza para hacer la busqueda
cadena = replace(cadena,"a","[aá]")
cadena = replace(cadena,"e","[eé]")
cadena = replace(cadena,"i","[ií]")
cadena = replace(cadena,"o","[oó]")
cadena = replace(cadena,"u","[uúü]")
Optimiza = cadena
end function

Luego, una vez voy a hacer la busqueda por ejemplo:

dim cadena
cadena = request.querystring("busca")
dim sql
sql = "select * from resultados where texto like'%" & Optimiza(cadena) "%'"

Y listo

Daniel Álvarez

Por favor, deja todos tus mensajes en
el foro, no uses el correo electrónico.

Si quieres contactar, no olvides quitar NOSPAM



"MetalManiac" escribió en el mensaje
news:
Hola amigo,

Tengo un buscador en asp que me funciona perfectamente pero resulta que
necesito que dicho buscador me encuentre resultados tanto si poco a buscar
palabras con acento como si lo pongo sin acento. Ejemplo:

Si busco todos los registros en los que nombre=Ivan (SIN acento) me
devolverá todos los registros que nombre=Iván o Ivan
Si busco todos los registros en los que nombre=Iván (CON acento) me
devolverá todos los registros que nombre=Iván o Ivan

Como puedo hacer esto? Gracias ;)


Preguntas similares